BigDecimal用法,慢慢用到的就会增加

一.简介

BigDecimal 在 MySQL中为 decimal ,这个也是可以存储小数点的数值,相比较于 double来说,decimal的精度更加的准确,如果用这些小数点的小伙伴们,一定要记住 decimal(10,2) 这也就是保留两位小数,如果不写保留几位的话,存入之后都会被抛弃

二.加减乘除

加法:add

减法:subtract

乘法:multiply

除法:divide

//加法 

bignum3 =  bignum1.add(bignum2);      

System.out.println("求和:" + bignum3); 
//减法 

bignum3 = bignum1.subtract(bignum2); 

System.out.println("求差:" + bignum3); 
//乘法 

bignum3 = bignum1.multiply(bignum2); 

System.out.println("乘法积:" + bignum3); 
//除法 

bignum3 = bignum1.divide(bignum2); 

System.out.println("除法结果:" + bignum3); 

三.除以后保留两位小数

本来是准备在除法以后增加.setSacle()的,后来发现如果出来乘除之后无限循环,那么会报错

BigDecimal big = new BigDecimal(4);
big=big.divide(new BigDecimal(3),2,BigDecimal.ROUND_HALF_UP);//会在除完直接保留两位

四.直接保留两位小数(四舍五入)

BigDecimal big = new BigDecimal(4);
big.setScale(2, RoundingMode.HALF_UP);

1.setScale简单用法

BigDecimal.setScale();//用于格式化小数点 
setScale(1);//表示保留一位小数,默认用四舍五入方式 
setScale(1,BigDecimal.ROUND_DOWN);//直接删除多余的小数位,如2.35会变成2.3 
setScale(1,BigDecimal.ROUND_UP);//进位处理,2.33变成2.4 
setScale(1,BigDecimal.ROUND_HALF_UP);//四舍五入,2.35变成2.4
setScaler(1,BigDecimal.ROUND_HALF_DOWN);//四舍五入,如果5以下则舍弃,2.34 变成 2.3,如果5以上包括5就会 2.35 变成 2.4

五.BigDecimal的比较

1.BigDecimal的非0判断

BigDecimal big = new BigDecimal(0);
big.compareTo(BigDecimal.ZERO)==0,返回true则等于0,返回false,则不等于0

2.BigDecimal之间的比较

BigDescimal bd1 = new BigDescimal();
BigDescimal bd2 = new BigDescimal();

Integer a = bd1.compareTo(bd2);

a = -1,表示bd1小于bd2;

a = 0,表示bd1等于bd2;

a = 1,表示bd1大于bd2;

3. BigDecimal在数据库中的存储

decimal 这个字段  如果不跟任何的限制,那么默认 decimal(10) 也就是十位数,还是整数

如果是 decimal(10,5)  意思是 十位数其中有五位是小数点,也就是 50000.00000,
如果出现前五位超出范围了,比如 500000,那么就会爆出DataIntegrityViolationException,超出范围

decimal(设置多长,设置后面跟多少位小数,如果不够零补全);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值