java - 请教分数的表示和保存问题
迷茫
迷茫 2017-04-17 13:31:30
0
1
245

在财务计算中,经常会用到分数,有的分数可以用有限位小数表示,有的分数就是无限位数的,如果设置一定的精度改成小数表示,在不断的计算中(比如先用这个精度的计算,结果再和别的数据做了各种运算),最终结果和直接用分数总会有少许的差别。

我目前项目里,遇到了这样的问题。
在早期,金额设置为2位小数,天数设置为6位小数,单价设置为两位小数,汇率设置4位小数,因为业务量不大,经营效益也还好,所以偶尔差个几元几分的用户也觉得没问题。

现在效益不行了,财务监管严格,差1分都不行,但是软件系统也用了5年以上了,用户提出用分数对中间数据进行保存,最终结果才做精度和四舍五入的设置。

可是,貌似现在java语言和关系数据库里,都没有分数的合适的表达形式,请高手指点。谢谢了!

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

reply all(1)
洪涛

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

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!