如何在Java中舍入货币值?
好的,这是我的问题。基本上我有这个问题。
我有一个像.53999999这样的数字。如何在不使用任何数学函数的情况下将其舍入为54?
我猜我必须乘以100才能缩放它,然后除以?类似的东西?
问题在于金钱。假设我有50.5399999美元,我知道如何获得50美元,但我不知道如何获得美分。我可以得到.539999部分,但我不知道如何把它弄到54美分。
好的,这是我的问题。基本上我有这个问题。
我有一个像.53999999这样的数字。如何在不使用任何数学函数的情况下将其舍入为54?
我猜我必须乘以100才能缩放它,然后除以?类似的东西?
问题在于金钱。假设我有50.5399999美元,我知道如何获得50美元,但我不知道如何获得美分。我可以得到.539999部分,但我不知道如何把它弄到54美分。
我会使用类似的东西:
BigDecimal result = new BigDecimal("50.5399999").setScale(2, BigDecimal.ROUND_HALF_UP);
在JavaWorld上有一篇很棒的文章叫做Make cents with BigDecimal,你应该看看。
您应该使用小数或货币类型来表示货币,而不是浮点数。