帐单金额向上舍入和向下舍入

发布于 2024-12-19 07:08:34 字数 281 浏览 0 评论 0原文

我面临着获取小数点后数字的问题。我需要数字来执行 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

半枫 2024-12-26 07:08:35

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

Simply try Math.round(x*100%10)

℉服软 2024-12-26 07:08:35

对于问题的一部分,

您可以通过

链接: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

来自 如何对数字进行舍入在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

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

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()

埋葬我深情 2024-12-26 07:08:34

类似这样的方法可能适用于四舍五入到最接近的 5 美分,但随后您可能需要格式化输出以在小数点后保留正确的位数:

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

这将为您提供 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:

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

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文