注意 不是我写的,转载其他博主 很经典 关于BigDecimal.ROUND_HALF_UP与ROUND_HALF_DOWN

关于BigDecimal.ROUND_HALF_UP与ROUND_HALF_DOWN

2018年07月06日 14:38:11 Decoxy 阅读数:278

由于ROUND_HALF_UP和ROUND_HALF_DOWN涉及到金额的区别

然而翻了其他博客基本都是错的,所以概述下这个问题(实际可能遇不到)。

一 基础知识

ROUND_HALF_UP: 遇到.5的情况时往上近似,例: 1.5 ->;2

ROUND_HALF_DOWN : 遇到.5的情况时往下近似,例: 1.5 ->;1

二 补充知识

ROUND_HALF_UP: 遇到.5的情况时往上近似,例: 1.51 ->;2

ROUND_HALF_DOWN : 遇到.5的情况时往下近似,例: 1.51 ->;2

三 测试

一看不对 2.35 那个结果不对。

2.251 结果是对的。

四 分析错误

BigDecimal 类型转换中

用的是构造方法是double

这里就知道问题的所在了

五 解决方案

六 解决方案测试

猜你喜欢

转载自blog.csdn.net/zy103118/article/details/85233199
今日推荐