开发者社区> 问答> 正文

java中分数的表示和保存问题

在财务计算中,经常会用到分数,有的分数可以用有限位小数表示,有的分数就是无限位数的,如果设置一定的精度改成小数表示,在不断的计算中(比如先用这个精度的计算,结果再和别的数据做了各种运算),最终结果和直接用分数总会有少许的差别。
我目前项目里,遇到了这样的问题。
在早期,金额设置为2位小数,天数设置为6位小数,单价设置为两位小数,汇率设置4位小数,因为业务量不大,经营效益也还好,所以偶尔差个几元几分的用户也觉得没问题。
现在效益不行了,财务监管严格,差1分都不行,但是软件系统也用了5年以上了,用户提出用分数对中间数据进行保存,最终结果才做精度和四舍五入的设置。
可是,貌似现在java语言和关系数据库里,都没有分数的合适的表达形式,请高手指点。

展开
收起
蛮大人123 2016-02-27 17:53:44 4453 0
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    你这样的运算用BigDecimal做个试试看。

    2019-07-17 18:49:08
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载