两个BigDecimal数据类型比较、加减乘除、格式化

举报
yechaoa 发表于 2022/05/31 00:46:51 2022/05/31
【摘要】 一般情况下,string类型比较用equals,int用= 而BigDecimal需要用compareTo if(goodsData.unitPrice.compareTo(new BigDecimal("0.00"))==0){ etGoodsPrice.setText(""); }el...

一般情况下,string类型比较用equals,int用=

而BigDecimal需要用compareTo


  
  1. if(goodsData.unitPrice.compareTo(new BigDecimal("0.00"))==0){
  2. etGoodsPrice.setText("");
  3. }else{
  4. etGoodsPrice.setText(String.valueOf(goodsData.unitPrice));
  5. }
上面的代码就是两个BigDecimal数据类型的值进行比较

new BigDecimal("0.00")是确定数据格式,两位小数

==0,文档中也有介绍,0表示相等,-1表示小于,1表示大于


加减乘除:

BigDecimal b=new BigDecimal(100);

假设一个int值:int c=5;   如果是BigDecimal类型的就不用转换

1.加

b.add(BigDecimal.valueOf(c));

2.减

b.subtract(BigDecimal.valueOf(c));

3.乘

b.multiply(BigDecimal.valueOf(c));

4.除

b.divide(BigDecimal.valueOf(c));


格式化:

.setScale(2) 保留两位小数,默认四舍五入, 1.235》1.24

.setScale(2,BigDecimal.ROUND_DOWN) 直接删除两位小数后面的小数, 1.235》1.23

.setScale(2,BigDecimal.ROUND_HALF_UP) 四舍五入,向上取, 1.235》1.24

.setScale(2,BigDecimal.ROUND_HALF_DOWN) 四舍五入,向下取, 1.235》1.23



文章来源: blog.csdn.net,作者:yechaoa,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/yechaoa/article/details/75226555

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。