如何移动小数?

Fla*_*la2 2 javascript move decimal

在JavaScript中,我想定义小数位的位置.我只能在例子中展示它.

让我们说输入值是1234.
我想要输出123.4.

或者,如果输入是12345,我想要输出123.45.

或者,如果输入是123456,我想要输出123.456.你得到了照片.

为了澄清,我只想在小数的左边有三位数.总位数未知.

那么,怎么办呢?

ale*_*lex 7

var a = 5007;

// Where `1` below is the amount you want to move it.
a /= Math.pow(10, 1);

document.body.innerHTML = a; // 500.7
Run Code Online (Sandbox Code Playgroud)

jsFiddle.

  • 这可能适用于整数,但不适用于小数值。存在精度损失。尝试:var a = 0.7; (2认同)

Rud*_*die 7

var n = 1234;
var l = n.toString().length-3;
var v = n/Math.pow(10, l); // new value
Run Code Online (Sandbox Code Playgroud)

3是因为您希望将前 3 位数字作为整数,因此基数会根据n.

function moveDecimal(n) {
  var l = n.toString().length-3;
  var v = n/Math.pow(10, l);
  return v;
}
Run Code Online (Sandbox Code Playgroud)

试试 1234、12345 和 123456。


Pet*_*son 5

123456 是 123.456 乘以 1000。这意味着你可以用除法移动小数位:

var num1 = 1234 / 10;  //sets num1 to 123.4
var num2 = 12345 / 100;  //sets num2 to 123.45
var num3 = 123456 / 1000;  //sets num3 to 123.456
Run Code Online (Sandbox Code Playgroud)

或者,如果要以更通用的形式设置小数位数,可以使用 Math.pow 函数:

var num3 = 123456 / Math.pow(10, 3);  //sets num3 to 123.456
Run Code Online (Sandbox Code Playgroud)