帐单金额向上舍入和向下舍入
我面临着获取小数点后数字的问题。我需要数字来执行 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 语句。这个舍入问题发生在马来西亚。
I'm facing a problem to get the digit of a number after decimal point. I need the digit to do if else statement.
Here is an example:
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
So, I need to get the second digit after decimal point. Then, i can use the digit to do if else statement. This rounding issue is happening in Malaysia.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
只需尝试
Math.round(x*100%10)
Simply try
Math.round(x*100%10)
对于问题的一部分,
您可以通过
链接:JavaScript 中的数字舍入
来自 如何对数字进行舍入在Javascript?
向负无穷大舍入 - Math.floor()
+3.5 => +3.0
-3.5=> -4.0
向零舍入 - 通常称为 Truncate(),但 JavaScript 不支持 - 可以通过使用 Math.ceil() 来模拟负数,使用 Math.floor() 来模拟正数。
+3.5=>使用 Math.floor() +3.0
-3.5=> -3.0 使用 Math.ceil()
for a part of your question
you can round javascript to specific precision by
Link :Number rounding in JavaScript
from How can I round down a number in Javascript?
Round towards negative infinity - Math.floor()
+3.5 => +3.0
-3.5 => -4.0
Round towards zero - usually called Truncate(), but not supported by JavaScript - can be emulated by using Math.ceil() for negative numbers and Math.floor() for positive numbers.
+3.5 => +3.0 using Math.floor()
-3.5 => -3.0 using Math.ceil()
类似这样的方法可能适用于四舍五入到最接近的 5 美分,但随后您可能需要格式化输出以在小数点后保留正确的位数:
这将为您提供 31.35,即四舍五入到最接近的五美分。
这似乎比获取数字并执行 if/else 更直接一些。
Something like this might work for doing the rounding to the nearest 5 cents, although then you may need to format the output to have the proper number of digits past the decimal point:
Which would give you 31.35, i.e., rounded to the nearest nickel.
This seems a little more direct than getting the digit and doing an if/else.