java – 双倍我的钱:我的框架使用双打货币金额

前端之家收集整理的这篇文章主要介绍了java – 双倍我的钱:我的框架使用双打货币金额前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我继承了一个项目,其中货币量使用双重类型.

更糟糕的是,它使用的框架和框架自己的类使用两倍的钱.

框架ORM还处理从(和存储)到数据库的值的检索.在数据库中,货币值是类型号(19,7),但框架ORM将它们映射到双精度.

缺少完全绕过框架类和ORM,有没有什么可以做的来准确计算货币价值?

编辑:是的,我知道应该使用BigDecimal.问题是我紧紧地关系到一个框架,例如,在这个框架中,框架com.com.pricing.ItemPriceInfo有成员double mRawTotalPrice;和double mListPrice.我公司的应用程序自己的代码扩展了,例如这个ItemPriceInfoClass.

实际上,我不能对我的公司说,“废除两年的工作,花费数十万美元,基于这个框架的代码,因为四舍五入的错误

解决方法

如果可以容忍,将货币类型视为一体.换句话说,如果你在美国工作,跟踪美分,而不是美元,如果美分提供你需要的粒度.双精度可以准确地表示高达 a very large value (2^53)的整数(不超过该值的舍入误差).

但是真的,正确的做法是完全绕过框架,并使用更合理的东西.这是框架的业余错误 – 谁知道还有什么潜在的?

原文链接:https://www.f2er.com/java/123442.html

猜你在找的Java相关文章