BigDecimal常用的加减乘除算法、比较大小、不展示多余的零、保存两位小数点

项目中涉及到了BigDecimal的加、减、乘、比较大小、精确度的问题。所以在此总结一下,方便以后复习。

 1 //加法
 2 
 3 BigDecimal coins = new BigDecimal("0");
 4 
 5 BigDecimal one = new BigDecimal("1");
 6 
 7 BigDecimal two = new BigDecimal("2");
 8 
 9 coins =  coins.add( two  );  //coins 加 2
10 System.out.println(  coins.doubleValue());  //输出为2.0
11 
12 coins =  coins.subtract( one  );  //coins 减 1
13 System.out.println(  coins.doubleValue());  //输出为1.0
14 
15 coins =  coins.subtract( two  );  //coins 乘以 2
16 System.out.println(  coins.doubleValue());  //输出为2.0
17 
18 int  i = coins .compareTo(BigDecimal.ZERO) ;  //判断coins是否大于0  
19 int  k = coins .compareTo( one ) ;//如果 i =0 说明相等;i < 0 说明 coins小于 one; i > 0 说明coins > one
20 coins = coins.setScale(2,BigDecimal.ROUND_HALF_UP) //保存两位小数点

 

 1,java代码去除BigDecimal多余的零

private BigDecimal vipPrice;
String price = vipPrice.stripTrailingZeros().toPlainString()

2,Mybaties 查询myslq中decimal时,去除多余的零

select 0 + CAST(good.vipPrice AS CHAR) AS vipPrice
from table;



posted @ 2018-04-27 15:12  现世安稳。  阅读(5423)  评论(0编辑  收藏  举报