Javascript 如何移动小数点?
在JavaScript中,我想定义小数点的位置。我只能用例子来说明 假设输入值为Javascript 如何移动小数点?,javascript,decimal,move,Javascript,Decimal,Move,在JavaScript中,我想定义小数点的位置。我只能用例子来说明 假设输入值为1234 我希望输出为123.4 或者,如果输入是12345,我希望输出是123.45 或者,如果输入是123456,我希望输出是123.456。你明白了 为了澄清,我只希望小数点左边有三位数字。总位数未知 那么,这是怎么做到的呢?基础数学,将数字除以10,将1个小数位移到左边。然后乘以10,得到相反的结果 “假设输入值为1234。我希望输出值为123.4” 1234/10=123.4 或者,如果输入是12345,我
1234
我希望输出为
123.4
或者,如果输入是12345
,我希望输出是123.45
或者,如果输入是123456
,我希望输出是123.456
。你明白了
为了澄清,我只希望小数点左边有三位数字。总位数未知
那么,这是怎么做到的呢?基础数学,将数字除以10,将1个小数位移到左边。然后乘以10,得到相反的结果 “假设输入值为1234。我希望输出值为123.4” 1234/10=123.4 或者,如果输入是12345,我希望输出是123.45
12345/100=123.45算出小数点向左移动的位数,然后用10除以该数字的幂:
123.456=123456/(10^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
是因为您希望前3位数字为整数,因此基数根据n
的大小而变化
function moveDecimal(n) {
var l = n.toString().length-3;
var v = n/Math.pow(10, l);
return v;
}
试试1234、12345和123456。那么基本上你想要第三位后面的小数点?您需要将其作为字符串还是用于数学运算?Javascript不使用^exponent运算符。@Peter,我认为他给出的是一个数字方程,而不是Javascript。为了澄清,我只希望小数点左侧有三位数字。总位数未知。如何显示尾随的零?假设你希望5007看起来像500。70@duckx
toFixed()
可以这样做这可能适用于整数,但不适用于十进制值。有一个精度损失。Try:var a=0.7;
var n = 1234;
var l = n.toString().length-3;
var v = n/Math.pow(10, l); // new value
function moveDecimal(n) {
var l = n.toString().length-3;
var v = n/Math.pow(10, l);
return v;
}