将3变成1000,将2变成100-getFixedDecimalValue函数

时间:2018-08-20 12:36:42

标签: javascript math

我编写了以下简单函数,该函数返回一个最多6个小数位的数字:

getFixedDecimalValue(number) {
  let fixedDecimalValue = (((number *= 1000000) - (number % 1)) / 1000000);
  return fixedDecimalValue;
}

我希望此函数接受第二个参数,该参数指示要计算的小数位数,然后返回该值(默认为6 dp)。

类似的东西:

getFixedDecimalValue(number, decimalPlaces = 6) {
  let fixedDecimalValue = (((number *= decimalPlaces) - (number % 1)) / decimalPlaces);
  return fixedDecimalValue;
}

问题:

是什么优雅的转弯方法?
6 into 1000000  

或数字

3 into 1000

谢谢!

4 个答案:

答案 0 :(得分:7)

function elegantMethod(number) {
  return Math.pow(10, number);
}

答案 1 :(得分:1)

// x = integer
result = "1";

while (x--) result += 0;

result = 1;
while (x--) result *= 10; 

答案 2 :(得分:1)

String#repeat的另一种方法可以使用const nZeros = n => +('1'+'0'.repeat(n)); console.log(nZeros(3));

compileSdkVersion

答案 3 :(得分:0)

感谢“程序员”,让我了解了Math.pow
这是默认为小数点后6位的工作函数:

getFixedDecimalValue(inputNum, decimalPlaces = 6) {
  let num = Math.pow(10, decimalPlaces);
  let fixedDecimalValue = (((inputNum *= num) - (inputNum % 1)) / num);
  return fixedDecimalValue;
},