收集和舍入账单金额

时间:2011-12-02 07:03:42

标签: javascript rounding

我在小数点后得到数字的数字时遇到问题。我需要数字来做if else语句。

以下是一个例子:

31.30 = 31.30
31.31 = 31.30
31.32 = 31.30
31.33 = 31.35
31.34 = 31.35
31.35 = 31.35
31.36 = 31.35
31.37 = 31.35
31.38 = 31.40
31.39 = 31.30   

所以,我需要得到小数点后的第二个数字。然后,我可以使用数字来做if else语句。这个四舍五入的问题正在马来西亚发生。

3 个答案:

答案 0 :(得分:3)

这样的东西可以用于舍入到最接近的5美分,尽管那时您可能需要格式化输出以使得小数点后面的数字位数正确:

var origVal = 31.34;
var roundedVal = Math.round(origVal*20)/20;

这将给你31.35,即四舍五入到最接近的镍。

这似乎比获取数字并执行if / else更直接。

答案 1 :(得分:2)

只需尝试Math.round(x*100%10)

答案 2 :(得分:1)

您的部分问题

您可以通过

将JavaScript转换为特定的精度

Link :Number rounding in JavaScript

var original=28.453


1) //round "original" to two decimals
var result=Math.round(original*100)/100  //returns 28.45



2) // round "original" to 1 decimal
var result=Math.round(original*10)/10  //returns 28.5



3) //round 8.111111 to 3 decimals
var result=Math.round(8.111111*1000)/1000  //returns 8.111

来自How can I round down a number in Javascript?

回归负无穷大 - Math.floor()

+3.5 => +3.0 -3.5 => -4.0 向零舍入 - 通常称为Truncate(),但不受JavaScript支持 - 可以使用Math.ceil()表示负数,使用Math.floor()表示正数。

+3.5 => +3.0使用Math.floor() -3.5 => -3.0使用Math.ceil()