文章目录

  • 前言
  • 一、Bigdecimal是什么?
  • 二、使用步骤
  • 总结


 


前言

提示:BigDecimal 在使用的过程中尽量采用String类型的参数进行转换尽量避免不使用字符串的数字对小数点进行数据格式的转换,避免出现精准问题。

  • 加法:add()函数
  • 减法:subtract()函数
  • 乘法:multiply()函数
  • 除法:divide()函数
  • 绝对值:abs()函数

提示:以下是本篇文章正文内容,下面案例可供参考

一、加减乘除

//这里直接转换类型的时候尽量使用String类型的进行转换

BigDecimal decimal01= new BigDecimal("0.03");
BigDecimal decimal02= new BigDecimal("0.01");

//加法
BigDecimal result1 = decimal01.add(decimal02);

//减法
BigDecimal result2 = decimal01.subtract(decimal02);

//乘法
BigDecimal result3 = decimal01.multiply(decimal02);

//绝对值
BigDecimal result4 = decimal01.abs();


/* 除法
 * 使用除法函数在divide的时候要设置各种参数,
 * 要有除数、精确的小数位数和舍入模式,不然会出现报错
 * 舍入模式这里有很多种方法,可以上网咨询查一下我在这里就不仔细说了
 * 因为我这也是七拼八凑的数据  
 */
BigDecimal result5 = decimal01.divide(decimal02,BigDecimal.ROUND_HALF_UP);

二、数组

//这里是数组的用法,其实跟其他数组一样 [2]代表值得大小,假如你使用[0],[1]的时候就创建数的大小就会 
  有限制,我对这个不太了解,希望有大佬留言相告!谢谢
BigDecimal[]sl = new BigDecimal[2];
        if (ljynssde.compareTo(new BigDecimal(0)) < 1)
        {
            sl[0] = new BigDecimal(0);
            sl[1] = new BigDecimal(0);
        }

三,比较大小

BigDecimal a = new BigDecimal (1);
BigDecimal b = new BigDecimal (2);
 
/* 
 * 前面的参数值不能为null
 */
if(a.compareTo(b) == -1){
    System.out.println("a小于b");
}
 
if(a.compareTo(b) == 0){
    System.out.println("a等于b");
}
 
if(a.compareTo(b) == 1){
    System.out.println("a大于b");
}
 
if(a.compareTo(b) > -1){
    System.out.println("a大于等于b");
}
 
if(a.compareTo(b) < 1){
    System.out.println("a小于等于b");

总结

提示:这里对文章进行总结:

float和double只能用来做科学计算或者是工程计算,Java在商业计算中要用 java.math.BigDecimal

如有侵权删删删删!

例如:以上就是今天要讲的内容,本文仅仅简单介绍了BigDecimal的使用,而BigDecimal提供了大量能使我们快速便捷地处理数据的函数和方法。