Java:BigDecimal表示货币和使用美分

Java:BigDecimal表示货币和使用美分,java,currency,bigdecimal,Java,Currency,Bigdecimal,我需要做一些费用计算器。其中一条建议我做两件事: 使用BigDecimal作为数据类型 以美分计算(我的计算不是15.99美元,而是1599美分) 我同意第一个,但我真的需要用美分来计算一切吗?这将添加一些转换操作,并使代码更加复杂 这些都是备选方案。您应该使用BigDecimal,单位为美元。这些都是备选方案。你应该使用BigDecimal,单位为美元。我想你可能误解了建议:使用BigDecimal或以美分计算(例如,使用int或long)。第二种方法可能会使计算变得复杂,但如果应用程序中

我需要做一些费用计算器。其中一条建议我做两件事:

  • 使用
    BigDecimal
    作为数据类型
  • 以美分计算(我的计算不是15.99美元,而是1599美分)

我同意第一个,但我真的需要用美分来计算一切吗?这将添加一些转换操作,并使代码更加复杂

这些都是备选方案。您应该使用
BigDecimal
,单位为美元。

这些都是备选方案。你应该使用
BigDecimal
,单位为美元。

我想你可能误解了建议:使用
BigDecimal
或以美分计算(例如,使用
int
long
)。第二种方法可能会使计算变得复杂,但如果应用程序中的每种货币都以美分为单位,并且只显示屏幕,则更安全(如果你有一个)使用整美元,那么就不会有什么不好的事情发生。我想你可能误解了这个建议:使用
BigDecimal
或用美分计算(例如,使用
int
long
)第二种可能会使其变得复杂,但更安全的是,如果应用程序中的每种货币都是美分,并且只有显示器(当您有美元时)使用了整美元,那么就不会发生什么坏事