使用 BigDecimal 时一定要使用字符串加双引号类型
其他类型不精确 BigDecimal bigDecimal = new Bigdecimal("0.09");
//需求:打印:0.09+0.01;
//1-0.34;
//1.438/100
public class BigDecimalDemo{
public static void main(String[] args){
System.out.println(0.09+0.01);//0.099999
System.out.println(1+0.34);//差一点
System.out.println(1.438、100);//差一点
//以上输出结果的精度不够
//使用 BigDecimal 时一定要使用字符串加双引号类型,其他类型不精确
String string = new String(10);
String.valueOf(10);
//或者String s2 = 10+" ";(10加上一个字符串去运算)
BigDecimal bigDecimal2 = new Bigdecimal("0.09");
BigDecimal bigDecimal3 = new Bigdecimal("0.01");
//加法
BigDecial add = bigDecimal2.add(bigDecimal3 );
System.out.println(add);
//减法
bigDecimal subtract = bigDecimal2.subtract(bigDecimal3);
System.out.println(subtract);
//乘法
bigDecimal multiply = bigDecimal2.multiply(bigDecimal3);
System.out.println(multiply);
//除法
bigDecimal divide= bigDecimal2.divide(bigDecimal3);
System.out.println(divide);
}
}
数字格式化:
public class DecimalFormatTest01 {
public static void main(String[] args) {
/*
数字格式有哪些?
# 代表任意数字
, 代表千分位
. 代表小数点
0 代表不够时补0
###,###.##
表示:加入千分位,保留2个小数。
*/
DecimalFormat df = new DecimalFormat("###,###.##");
//String s = df.format(1234.56);
String s = df.format(1234.561232);
System.out.println(s); // "1,234.56"
DecimalFormat df2 = new DecimalFormat("###,###.0000");
//保留4个小数位,不够补上0
String s2 = df2.format(1234.56);
System.out.println(s2); //"1,234.5600"
}
}