BigDecimal的用法总结

BigDecimal与int,long类型的互转

	//int  转换成  bigDecimal类型
    public static void intToBigDecimal(){
        int b = 5;
        BigDecimal a = new BigDecimal(b);
        System.out.println(a +"的数据类型是"+a.getClass().getName());
    }
    //Long 类型转换成 bigDecimal
    public static void longToBigDecimal(){
        long b = 5;
        BigDecimal a = new BigDecimal(b);
        System.out.println(a +"的数据类型是"+a.getClass().getName());
    }
    //bigDecimal  转换成  Long类型
    public static void bigDecimalToLong(){
        BigDecimal b = new BigDecimal(12);
        Long c = b.longValue();
        System.out.println(c+"的数据类型是"+c.getClass().getName());
    }
   //bigDecimal  转换成  int类型
    public static void bigDecimalToInt(){
         BigDecimal b = new BigDecimal(12);
         int c = b.intValue();
     }

四则运算

BigDecimal b = new BigDecimal(12.10);
//BigDecimal 转换成 string数据类型
 string c = b.toString()//BigDecimal 转换成 int数据类型
 int c = b.intValue();
//BigDecimal 转换成 double数据类型
 double c=a.doubleValue();
b.stripTrailingZeros();//去掉末尾0
b.stripTrailingZeros().toPlainString();//避免输出科学计数法

//操作运算加减乘除
BigDecimal num1 = new BigDecimal("100");  
BigDecimal num2 = new BigDecimal("50");
       //加法
BigDecimal result1 = num1.add(num2);        
        //减法 
BigDecimal result2 = num1.subtract(num2);
        //乘法
BigDecimal result3 = num1.multiply(num2);      
       //除法
BigDecimal result4 = num1.divide(num2);


BigDecimal.setScale()方法用于格式化小数点
setScale(1)//表示保留一位小数,默认用四舍五入方式 
setScale(1,BigDecimal.ROUND_DOWN)//直接删除多余的小数位 1.11变1.1
setScale(1,BigDecimal.ROUND_UP)//进位处理,1.11变成1.2 
setScale(1,BigDecimal.ROUND_HALF_UP)//四舍五入,5进1
setScale(1,BigDecimal.ROUND_HALF_DOWN)//五舍六入,6进1五舍掉 1.15变1.1

除法与格式化并用的表现:
new BigDecimal(currentMoney).divide(new BigDecimal("100"),2, RoundingMode.HALF_UP

compareTo比较大小(两边不可为空)
num1.compareTo(num2);大于时返回1,小于返回-1,等于返回0

num1.min(num2);返回较小的数
num1.max(num2);返回较大的数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值