概念
为了精确计算浮点数,浮点数计算存在误差
//浮点型计算存在误差
System.out.println(0.1+0.2);
结果:
使用方法
1.add(加法)
package BigDecimal;
import java.math.BigDecimal;
public class BigDecimalTest {
public static void main(String[] args) {
BigDecimal b1 = new BigDecimal("0.1");
BigDecimal b2 = new BigDecimal("0.2");
//加法
BigDecimal b3 = b1.add(b2);
//转为double类型
double a = b3.doubleValue();
System.out.println(b3);
System.out.println(a);
}
}
结果:
2.subtract(减法)
package BigDecimal;
import java.math.BigDecimal;
public class BigDecimalTest {
public static void main(String[] args) {
BigDecimal b1 = new BigDecimal("0.1");
BigDecimal b2 = new BigDecimal("0.2");
//减法
BigDecimal b3 = b1.subtract(b2);
//转为double类型
double a = b3.doubleValue();
System.out.println(b3);
System.out.println(a);
}
}
结果:
3.multiply(乘法)
package BigDecimal;
import java.math.BigDecimal;
public class BigDecimalTest {
public static void main(String[] args) {
BigDecimal b1 = new BigDecimal("0.1");
BigDecimal b2 = new BigDecimal("0.2");
//乘法
BigDecimal b3 = b1.multiply(b2);
//转为double类型
double a = b3.doubleValue();
System.out.println(b3);
System.out.println(a);
}
}
结果:
4.divide除法
package BigDecimal;
import java.math.BigDecimal;
public class BigDecimalTest {
public static void main(String[] args) {
BigDecimal b1 = new BigDecimal("0.1");
BigDecimal b2 = new BigDecimal("0.2");
//除法
BigDecimal b3 = b1.divide(b2);
//转为double类型
double a = b3.doubleValue();
System.out.println(b3);
System.out.println(a);
}
}
结果:
5.BigDecimal到其他类型转换
//转为double类型
double a = b3.doubleValue();
//转为float类型
double a = b3.floatValue();