JavaScript四舍五入保留小数点后三位

3

可能重复:
javascript - 将美元金额向上取整

我有一个数字:360.654444444447

我希望它四舍五入到360.66

我应该怎么做?在5和7之间的4的数量是未知的。

编辑:关键问题在于,当小数点后第二位会四舍五入为5时,它应该向上舍入。(例如:360.654447可以舍入为360.655,然后应该舍入为360.66)

这类似于PHP_HALF_ROUND_MODE的东西。


1
这里有一个非常相似的问题 - https://dev59.com/7W435IYBdhLWcg3w0Trc - Vishnu Haridas
可能更相似:https://dev59.com/tW445IYBdhLWcg3wg6tm - Tyler Crompton
所以你想让3.5446“四舍五入”到3.55,即使3.54比3.55更接近原始值(少了0.0046而不是多了0.0054)?为什么你要这样做呢? - Trott
1个回答

1
使用ceil方法,而不是其他人建议的round方法。
var number = 360.654444444447;
var result = Math.ceil(number * 100) / 100;

这带来了一个问题。我不想让像360.2234002这样的数字四舍五入到360.23... 这里的关键问题是,当第二位小数四舍五入为5时,它应该向上舍入。(即: 360.654447可以四舍五入为360.655 - 并且应该舍入为360.66) - ragulka
但在360.654447中,千分位不会四舍五入到5,除非您正在讨论多次四舍五入...请问您为什么要进行这种奇怪的四舍五入? - Tyler Crompton
你是在说四舍五入到最近的半数值吗?(例如4.1 => 4.0,4.3 => 4.5,4.6 => 4.6,4.8 => 5.0)? - Tyler Crompton
不,我说的是四舍五入。 - ragulka
请提供更多的示例数字,以便我能够了解您在谈论什么。 - Tyler Crompton

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接