BigDecimal.ZERO:表示值为零的 BigDecimal。
BigDecimal.ONE:表示值为一的 BigDecimal。
BigDecimal.TEN:表示值为十的 BigDecimal。
常用方法
1,add(BigDecimal augend):加法运算
BigDecimal c= BigDecimal.ZERO;//表示值为零的 BigDecimal。
BigDecimal a=new BigDecimal("1.11");;//定义一个总价格
BigDecimal b=new BigDecimal("2.22");;//定义一个单个价格
c=a.add(b);输出:
c=3.33
2,subtract(BigDecimal subtrahend):减法运算
BigDecimal c= BigDecimal.ZERO;//表示值为零的 BigDecimal。
BigDecimal a=new BigDecimal("1.11");;//定义一个总价格
BigDecimal b=new BigDecimal("2.22");;//定义一个单个价格
c=b.subtract(a);
System.out.println("c:"+c)输出:
c=1.11
3,multiply(BigDecimal multiplicand):乘法运算
BigDecimal c= BigDecimal.ZERO;//表示值为零的 BigDecimal。
BigDecimal a=new BigDecimal("1.11");;//定义一个总价格
BigDecimal b=new BigDecimal("2.22");;//定义一个单个价格
c=b.multiply(a);
System.out.println("c:"+c)输出:
c=2.4642
4,divide(BigDecimal divisor, int scale, RoundingMode roundingMode):除法运算,可以指定小数位数和舍入方式
BigDecimal bfb= BigDecimal.ZERO;//表示值为零的 BigDecimal。
BigDecimal a=674.14;//定义一个总价格
BigDecimal b=323.85;//定义一个单个价格
bfb = b.divide(a,scale:4,RoundingMode.HALF_UP); //保留小数点后四位数
//RoundingMode.HALF_UP 四舍五入结果:
bfb = 0.5004 //原值bfb=0.50043267
5,setScale(int newScale, RoundingMode roundingMode):设置小数位数和舍入方式
BigDecimal a = new BigDecimal("1.23456");// 设置小数位数为3,四舍五入
BigDecimal rounded = a.setScale(3, RoundingMode.HALF_UP);
System.out.println("四舍五入结果: " + rounded);// 输出: 1.235// 设置小数位数为0,向下取整
rounded = a.setScale(3, RoundingMode.DOWN);
System.out.println("向下取整结果: " + rounded);// 输出: 1.234
6,compareTo(BigDecimal val):比较两个BigDecimal的大小
compareTo方法返回-1、0或1,分别表示第一个BigDecimal小于、等于或大于第二个BigDecimal。
BigDecimal a= new BigDecimal("10.0");
BigDecimal b= new BigDecimal("20.0");
BigDecimal c= new BigDecimal("10.0");// 使用compareTo方法比较
int result1 = a.compareTo(b);
int result2 =a.compareTo(c);if (result1 < 0) {System.out.println("a小于b");} else if (result1 > 0) {System.out.println("a大于b");} else {System.out.println("a等于b");}if (result2 == 0) {System.out.println("a等于c");}结果:a小于ba等于c
7,toString():将BigDecimal转换为字符串
BigDecimal bigDecimal = new BigDecimal("123.456");
String stringValue = bigDecimal.toString(); // 转换为字符串
System.out.println(stringValue);// 输出: 123.456