Kal*_*a J 0 javascript floating-point rounding significant-digits
我有一个像137.57667565656这样的浮点数,但我想将它舍入到小数点后面只有两个尾随数字,就像新的浮点数一样是137.58.
到目前为止我试过这个:
(Math.round((value*100)/100)).toFixed(2).toString();
Run Code Online (Sandbox Code Playgroud)
但不幸的是,它将我的价值调整为137.00.它将小数位添加为零,为什么?
我怎样才能实现上述目标?
你有什么期望?
(value*100)/100
Run Code Online (Sandbox Code Playgroud)
只需返回值的原始值,所以
Math.round((value*100)/100))
Run Code Online (Sandbox Code Playgroud)
与以下内容相同:
Math.round(value)
Run Code Online (Sandbox Code Playgroud)
然后你有:
Math.round(value).toFixed(2).toString();
Run Code Online (Sandbox Code Playgroud)
所以将值四舍五入为整数,toFixed将添加两个小数位并返回一个字符串,因此toString部分是多余的.如果您希望将值四舍五入到小数点后四位,则:
value.toFixed(4)
Run Code Online (Sandbox Code Playgroud)
会做的工作:
var x = 137.57667565656;
console.log(x.toFixed(4)); // 137.5767
Run Code Online (Sandbox Code Playgroud)
如果要将其舍入到2个位置但将其显示为4,则:
Number(x.toFixed(2)).toFixed(4) // 137.5800
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4273 次 |
最近记录: |