Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 票据金额的四舍五入和四舍五入_Javascript_Rounding - Fatal编程技术网

Javascript 票据金额的四舍五入和四舍五入

Javascript 票据金额的四舍五入和四舍五入,javascript,rounding,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 31.30 = 31.30 31.31 = 31.30 31.32 = 31.30 31.33 = 31.35 31.34 =

我遇到了一个问题,如何获取小数点后的数字。我需要数字做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 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语句。马来西亚正在发生这种舍入问题。

只需尝试
数学。舍入(x*100%10)

类似的方法可以将舍入到最接近的5美分,不过您可能需要格式化输出,使其具有超过小数点的正确位数:

var origVal = 31.34;
var roundedVal = Math.round(origVal*20)/20;
也就是说,四舍五入到最接近的五分之一


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

关于你问题的一部分

您可以通过以下方法将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()

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