java - 我如何在 Java 中舍入货币值?

标签 java currency rounding

好的,这是我的问题。 基本上我有这个问题。

我有一个像 .53999999 这样的数字。 如何在不使用任何数学函数的情况下将其四舍五入到 54?

我猜我必须乘以 100 才能按比例缩放,然后除以? 类似的东西?


问题在于钱。假设我有 50.5399999 美元,我知道如何获得 50 美元,但我不知道如何获得美分。我可以得到 .539999 部分,但我不知道如何得到 54 美分。

最佳答案

我会使用类似的东西:

BigDecimal result = new BigDecimal("50.5399999").setScale(2, BigDecimal.ROUND_HALF_UP);

有一篇很棒的文章叫做 Make cents with BigDecimalJavaWorld你应该看看。

关于java - 我如何在 Java 中舍入货币值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/522855/

相关文章:

java - 使用 RestEasy,如何在传入对象参数之一的属性上使用 @HeaderParam 注释?

Python 货币代码放入列表中

python - Babel numbers format_currency 函数

floating-point - 是否可以在不求助于任意精度数据类型的情况下消除浮点错误?

Python if-else 代码样式,用于减少舍入 float 的代码

java - 是否可以检查哪些 gradle 依赖项包含给定的类?

java - IntelliJ IDEA mac os 键盘映射 ^ 不工作

java - 输入必须输入两次,并且可以输入字符串时不允许输入

c# - 如何获得特定的文化货币图案

random - 随机数生成器的上限