- /**
- * 保留两位小数
- */
- @org.junit.Test
- public void formatTest() {
- double num=13.154215;
- //方式一
- DecimalFormat df1 = new DecimalFormat("0.00");
- String str = df1.format(num);
- System.out.println(str); //13.15
- //方式二
- // #.00 表示两位小数 #.0000四位小数
- DecimalFormat df2 =new DecimalFormat("#.00");
- String str2 =df2.format(num);
- System.out.println(str2); //13.15
- //方式三
- //%.2f %. 表示 小数点前任意位数 2 表示两位小数 格式后的结果为f 表示浮点型
- String result = String.format("%.2f", num);
- System.out.println(result); //13.15
- }
- /**
- * 保留两位小数
- */
- @org.junit.Test
- public void formatTest() {
- double num=13.154215;
- //方式一
- DecimalFormat df1 = new DecimalFormat("0.00");
- String str = df1.format(num);
- System.out.println(str); //13.15
- //方式二
- // #.00 表示两位小数 #.0000四位小数
- DecimalFormat df2 =new DecimalFormat("#.00");
- String str2 =df2.format(num);
- System.out.println(str2); //13.15
- //方式三
- //%.2f %. 表示 小数点前任意位数 2 表示两位小数 格式后的结果为f 表示浮点型
- String result = String.format("%.2f", num);
- System.out.println(result); //13.15
- }
- @Test
- public void test1() { //4.1541483776749997E9
- double a = 4887233385.5;
- double b = 0.85;
- System.out.println("result1-->"+a*b); // result1-->4.1541483776749997E9
- BigDecimal a1 = new BigDecimal(a);
- BigDecimal b1 = new BigDecimal(b);
- System.out.println("result2-->"+a1.multiply(b1));//result2-->4154148377.674999891481619无限不循环
- BigDecimal aBigDecimal = new BigDecimal(String.valueOf(a));
- BigDecimal bBigDecimal = new BigDecimal(String.valueOf(b));
- // 或者下面这种写法
- // BigDecimal aBigDecimal = new BigDecimal(Double.toString(a));
- // BigDecimal bBigDecimal = new BigDecimal(Double.toString(b));
- System.out.println("result3-->"+aBigDecimal.multiply(bBigDecimal)); //result3-->4154148377.675
- }