在Java中应该使用什么数据类型来表示钱?
当前回答
我喜欢使用微型类型,它会像以前的答案所建议的那样包装双精度,BigDecimal或int。(除非出现精度问题,否则我会使用double)。
一个微小的类型给你类型安全,所以你不会混淆双倍的钱与其他双份。
其他回答
我会用Joda Money
它仍然是0.6版本,但看起来很有前途
BigDecimal是用于货币的最佳数据类型。
货币有很多容器,但它们都使用BigDecimal作为底层数据类型。使用BigDecimal不会出错,可能会使用BigDecimal。ROUND_HALF_EVEN舍入。
您应该使用BigDecimal来表示货币值。它允许您使用各种舍入模式,并在 金融应用中,舍入模式往往是一个硬性要求 这甚至可能是法律规定的。
我喜欢使用微型类型,它会像以前的答案所建议的那样包装双精度,BigDecimal或int。(除非出现精度问题,否则我会使用double)。
一个微小的类型给你类型安全,所以你不会混淆双倍的钱与其他双份。
表示可能的最小值的整型。换句话说,你的程序应该以美分为单位,而不是美元/欧元。
这应该不会阻止gui将其转换回美元/欧元。