gpt4 book ai didi

javascript - 在 javascript 中提高 10 的幂,有没有比这更好的方法

转载 作者:可可西里 更新时间:2023-11-01 01:35:40 27 4
gpt4 key购买 nike

我需要创建一个特定幂的整数值(这不是正确的术语,但基本上我需要创建 10、100、1000 等)“幂”将指定为函数参数。我想出了一个解决方案,但 MAN 确实觉得它很老套而且是错误的。如果有的话,我想学习一种更好的方法,也许不是基于字符串的方法?此外,eval() 不是一个选项。

这是我目前拥有的:

function makeMultiplierBase(precision)
{
var numToParse = '1';
for(var i = 0; i < precision; i++)
{
numToParse += '0';
}

return parseFloat(numToParse);
}

我也刚刚想出了这个非基于字符串的解决方案,但由于循环,它看起来仍然很老套:

function a(precision)
{
var tmp = 10;
for(var i = 1; i < precision; i++)
{
tmp *= 10;
}

return tmp;
}

顺便说一句,我需要这样做来创建一个处理货币的舍入方法。我一直在用 var formatted = Math.round(value * 100)/100

但是这段代码到处都是,我想有一个方法来处理特定精度的舍入,所以我创建了这个

if(!Math.roundToPrecision)
{
Math.roundToPrecision = function(value, precision)
{
Guard.NotNull(value, 'value');

b = Math.pow(10, precision);
return Math.round(value * b) / b;
}
}

我想把它包括在这里,因为它已经被证明很方便。

最佳答案

在 ES5 及更早版本中,使用 Math.pow:

var result = Math.pow(10, precision);

var precision = 5;
var result = Math.pow(10, precision);
console.log(result);

在 ES2016 及更高版本中,使用 exponentiation operator :

let result = 10 ** precision;

let precision = 5;
let result = 10 ** precision;
console.log(result);

关于javascript - 在 javascript 中提高 10 的幂,有没有比这更好的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6286589/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com