比较BigDecimal对象是否相等
来源:互联网 发布:知乎r级别电影 编辑:程序博客网 时间:2024/06/05 17:49
例子:
BigDecimal a = new BigDecimal("2.00");
BigDecmial b = new BigDecimal(2);
System.out.println(a.equals(b));
输出结果是:false
原因是:BigDecimal比较时,不仅比较值,而且还比较精度???
解决方法:
BigDecimal a = new BigDecimal("2.00").setScale(2,BigDecimal.ROUND_HALF_DOWN);
BigDecmial b = new BigDecimal(2).setScale(2,BigDecimal.ROUND_HALF_DOWN);
System.out.println(a.equals(b));
结果就是:true
关于BigDecimal.ROUND_HALF_UP与ROUND_HALF_DOWN
ROUND_HALF_UP: 遇到.5的情况时往上近似,例: 1.5 ->;2
ROUND_HALF_DOWN : 遇到.5的情况时往下近似,例: 1.5 ->;1
BigDecimal a = new BigDecimal(1.5);
System.out.println("down="+a.setScale(0,BigDecimal.ROUND_HALF_DOWN)+"/tup="+a.setScale(0,BigDecimal.ROUND_HALF_UP));
结果:down=1 up=2
看这个例子就明白了!
- 比较BigDecimal对象是否相等
- 比较两个对象是否相等
- BigDecimal 判是否相等
- 比较二个对象值是否相等
- 比较俩个对象是否相等
- JavaScript比较两个对象是否相等
- 比较两个Json对象是否相等
- 比较字符串是否相等
- 比较字符串是否相等
- list比较是否相等
- 比较字符串是否相等
- 比较二个对象的每个值是否相等
- JS中如何比较两个Json对象是否相等
- 判断对象是否相等
- 比较两个对象相等
- js 比较对象相等
- 比较两个字符串是否相等?
- 比较两个数字是否相等
- 我的迷茫
- 来玩TestRen
- VC使用CRT调试功能来检测内存泄漏
- 存储过程中调用存储过程
- 集群存储开始走俏
- 比较BigDecimal对象是否相等
- 在中国,年薪10万根本不算“中产”!
- Linux 文件系统精通指南
- DirectX 编程 第四步: 顶点(Vertex)绘图
- C经典编程百例
- 开源软件为中国软件提供了发展机遇--陆首群
- VC 中BMP、JPG、GIF图像的显示
- E1知识点总结
- static修饰的变量存在哪里