由于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 结果是对的。
四 分析错误
![](https://i-blog.csdnimg.cn/blog_migrate/359dde272997ced1a3036f15701bb0bd.png)
BigDecimal 类型转换中
用的是构造方法是double
这里就知道问题的所在了