在Java中应该使用什么数据类型来表示钱?


当前回答

表示可能的最小值的整型。换句话说,你的程序应该以美分为单位,而不是美元/欧元。

这应该不会阻止gui将其转换回美元/欧元。

其他回答

BigDecimal可以使用,为什么不使用Float或Double可以在这里看到:为什么不使用Double或Float来表示货币?

表示可能的最小值的整型。换句话说,你的程序应该以美分为单位,而不是美元/欧元。

这应该不会阻止gui将其转换回美元/欧元。

Java有代表ISO 4217货币代码的Currency类。 BigDecimal是表示货币十进制值的最佳类型。

Joda Money提供了一个代表金钱的图书馆。

您应该使用BigDecimal来表示货币值。它允许您使用各种舍入模式,并在 金融应用中,舍入模式往往是一个硬性要求 这甚至可能是法律规定的。

对于简单的情况(一种货币),它是足够的int/long。 钱的单位是美分(…)或百分之一/千分之一美分(任何你需要的固定分割器精度)