可能的重复:
用 Java 表示货币值 https://stackoverflow.com/questions/285680/representing-monetary-values-in-java
哪种java类型适合处理价格值?请告诉我为什么?
我不知道这只是一个问题:)
我只知道这种类型一定是“安全”的。因为如果我们创建商店应用程序或类似的东西。
附注我需要最佳实践
以及它如何存在于数据库中?
你应该使用大十进制 http://www.javaworld.com/javaworld/jw-06-2001/jw-0601-cents.html当处理货币时。 Java 的本机浮点类型与其他语言一样存在精度问题,因为某些小数无法准确地表示为浮点数。即使认为这不是java特定的,这是一个优秀的文章 http://www.mikeash.com/pyblog/friday-qa-2011-01-04-practical-floating-point.html它描述了将十进制值表示为浮点数的复杂性。
一般来说,应用程序中的瞬态值应始终使用 BigDecimal,仅在必须时才转换为浮点数(为了持久性或向用户显示数据等)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)