如何移动小数?

时间:2011-04-25 03:13:29

标签: javascript decimal move

在JavaScript中,我想定义小数位的去向。我只能在示例中展示它。

假设输入值为1234 我希望输出为123.4

或者,如果输入为12345,我希望输出为123.45

或者,如果输入为123456,我希望输出为123.456。你得到了照片。

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

那么,怎么办呢?

5 个答案:

答案 0 :(得分: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

jsFiddle

答案 1 :(得分:4)

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

3是因为您希望前3个数字作为整数,因此基数会根据n的大小而变化。

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

尝试1234,12345和123456。

答案 2 :(得分:3)

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

或者,如果您想以更一般的形式设置小数位数,可以使用Math.pow函数:

var num3 = 123456 / Math.pow(10, 3);  //sets num3 to 123.456

答案 3 :(得分:0)

基本数学,只需将数字除以10即可向左侧移动1个十进制大小写。并乘以10来做相反的事情。

“假设输入值为1234.我希望输出为123.4”

1234/10 = 123.4

“或者,如果输入是12345,我希望输出为123.45”

12345/100 = 123.45

答案 4 :(得分:0)

计算出要将小数点向左移动的位数,并将数字乘以10除以该数字的幂:

123.456=123456/(10^3)

^获得权力的地方。