关于BigDecimal.ROUND_HALF_UP与ROUND_HALF_DOWN

由于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

这里就知道问题的所在了

五 解决方案

六 解决方案测试





发布了52 篇原创文章 · 获赞 29 · 访问量 14万+

猜你喜欢

转载自blog.csdn.net/qq_36783371/article/details/80940304