如何在Javascript中始终将数字UP舍入到最近的便士

问题描述 投票:1回答:3

我有一堆数字,例如797.3333333333334852.22222111933.111023,我想要总结到最近的便士,这样我已经提到过的数字分别是797.34852.23933.12

我说最近的便士,但你也可以把它称为最近的十分之一。

有一个天花板功能,但只有圆形到最接近的整数,Math.round()也是如此

javascript
3个回答

1
投票

就这样做:Math.ceil(number * 100) / 100


0
投票

正确舍入到最近的便士:

var yourNumber = 5.495;
yourNumber = Math.round(yourNumber * 100)/100;
alert(yourNumber);

总是四舍五入到最近的便士:

function precision(a) { 
  if (!isFinite(a)) return 0;
  var e = 1, p = 0;
  while (Math.round(a * e) / e !== a) { 
    e *= 10; p++; 
  }
  return p;
}
if (precision(yourNumber) >= 3) {
  yourNumber = (Math.trunc(yourNumber * 100)/100) * 1 + 0.01;
}
© www.soinside.com 2019 - 2024. All rights reserved.