财务专用:java-math-BigDecimal---数字格式化
//需求:打印: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" } }