double数据类型四舍五入的bug
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了double数据类型四舍五入的bug相关的知识,希望对你有一定的参考价值。
最近维护项目出现了一个很奇怪的bug
0.565并没有四舍五入,结果是0.56;
可是0.555却四舍五入了,变成了0.56;
但是0.575依然没有四舍五入;
这可能就是double类型的问题了,也不算bug,类似于0.5会变成0.49999999的问题一样,计算机解析double类型时实际数值和显示不一样。
解决办法就是把double类型改成decimal类型,涉及到财务金融方面的计算时,尽量都要用decimal。
具体参考http://lj.soft.blog.163.com/blog/static/79402481201032210173381/
以上是关于double数据类型四舍五入的bug的主要内容,如果未能解决你的问题,请参考以下文章
java中将一个double类型的数强制转换为long 型是四舍五入吗?
请教c#中double类型转化为long类型的方法, 以及对double四舍五入的方法