JAVA BigDecimal 用法总结

BigDecimal num1 = new BigDecimal("3.1415926");
BigDecimal num2 = new BigDecimal("2");

1、四则运算

1.1、加法

官方资料:

例子:

//1、加法 num1 + num2
// add(BigDecimal augend)
System.out.println(num1.add(num2));

1.2、减法

官方资料:

例子:

//2、减法 num1 - num2
// subtract(BigDecimal subtrahend)
System.out.println(num1.subtract(num2));

1.3、乘法

官方资料:

例子:

//3、乘法 num1 * num2
// multiply(BigDecimal multiplicand)
System.out.println(num1.multiply(num2));

1.4、除法

官方资料:

例子:

//4、除法 num1 / num2
//divide(BigDecimal divisor)
System.out.println(num1.divide(num2));

 2、小数位数

官方资料:

例子:num1,num2分别保留3位小数

System.out.println(num2.setScale(3));
System.out.println(num1.setScale(3, RoundingMode.HALF_UP));

解释:

如果BigDecimal类型的数据是包含小数的,请使用带RoundingMode的,直接用setScale(int newScale)这个会报错,不包含小数点的都可以使用

3、关于RoundingMode,有以下几种:

例子:

输入值 UP DOWN CEILING FLOOR HALF_UP HALF_DOWN HALF_EVEN UNNECESSARY
5.5 6 5 6 5 6 5 6 throw ArithmeticException
2.5 3 2 3 2 3 2 2 throw ArithmeticException
1.6 2 1 2 1 2 2 2 throw ArithmeticException
1.1 2 1 2 1 1 1 1 throw ArithmeticException
1 1 1 1 1 1 1 1 1
-1 -1 -1 -1 -1 -1 -1 -1 -1
-1.1 -2 -1 -1 -2 -1 -1 -1 throw ArithmeticException
-1.6 -2 -1 -1 -2 -2 -2 -2 throw ArithmeticException
-2.5 -3 -2 -2 -3 -3 -2 -2 throw ArithmeticException
-5.5 -6 -5 -5 -6 -6 -5 -6 throw ArithmeticException

猜你喜欢

转载自blog.csdn.net/huangge1199/article/details/104488361
今日推荐