我在小数点后得到数字的数字时遇到问题。我需要数字来做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语句。这个四舍五入的问题正在马来西亚发生。
答案 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()