Java中的BigDecimal應用
阿新 • • 發佈:2020-10-20
測試1
1 String dataStr="2.222"; 2 //1、去掉多餘的位數 3 BigDecimal data=new BigDecimal(dataStr).setScale(2, RoundingMode.DOWN); 4 System.out.println("RoundingMode.DOWN:"+data); 5 //2、進位處理 6 BigDecimal data1=new BigDecimal(dataStr).setScale(2,RoundingMode.UP); 7 System.out.println("RoundingMode.UP:"+data1);8 //3、天花板向上,正數進位向上,負數舍位向上 9 BigDecimal data2=new BigDecimal(dataStr).setScale(2,RoundingMode.CEILING); 10 System.out.println("RoundingMode.CEILING:"+data2); 11 //4、地板向下,正數舍位向下,負數進位向下 12 BigDecimal data3=new BigDecimal(dataStr).setScale(2,RoundingMode.FLOOR); 13 System.out.println("RoundingMode.FLOOR:"+data3);14 //5、四捨五入 15 BigDecimal data4=new BigDecimal(dataStr).setScale(2,RoundingMode.HALF_UP); 16 System.out.println("RoundingMode.HALF_UP:"+data4); 17 //6、 18 BigDecimal data5=new BigDecimal(dataStr).setScale(2,RoundingMode.HALF_DOWN); 19 System.out.println("RoundingMode.HALF_DOWN:"+data5);20 //7、 21 BigDecimal data6=new BigDecimal(dataStr).setScale(2,RoundingMode.HALF_EVEN); 22 System.out.println("RoundingMode.HALF_EVEN:"+data5); 23 //8、報異常 24 BigDecimal data7=new BigDecimal(dataStr).setScale(2,RoundingMode.UNNECESSARY); 25 System.out.println("RoundingMode.UNNECESSARY:"+data7);
執行結果1:
測試2
1 String dataStr="2.226"; 2 //1、去掉多餘的位數 3 BigDecimal data=new BigDecimal(dataStr).setScale(2, RoundingMode.DOWN); 4 System.out.println("RoundingMode.DOWN:"+data); 5 //2、進位處理 6 BigDecimal data1=new BigDecimal(dataStr).setScale(2,RoundingMode.UP); 7 System.out.println("RoundingMode.UP:"+data1); 8 //3、天花板向上,正數進位向上,負數舍位向上 9 BigDecimal data2=new BigDecimal(dataStr).setScale(2,RoundingMode.CEILING); 10 System.out.println("RoundingMode.CEILING:"+data2); 11 //4、地板向下,正數舍位向下,負數進位向下 12 BigDecimal data3=new BigDecimal(dataStr).setScale(2,RoundingMode.FLOOR); 13 System.out.println("RoundingMode.FLOOR:"+data3); 14 //5、四捨五入 15 BigDecimal data4=new BigDecimal(dataStr).setScale(2,RoundingMode.HALF_UP); 16 System.out.println("RoundingMode.HALF_UP:"+data4); 17 //6、 18 BigDecimal data5=new BigDecimal(dataStr).setScale(2,RoundingMode.HALF_DOWN); 19 System.out.println("RoundingMode.HALF_DOWN:"+data5); 20 //7、 21 BigDecimal data6=new BigDecimal(dataStr).setScale(2,RoundingMode.HALF_EVEN); 22 System.out.println("RoundingMode.HALF_EVEN:"+data5); 23 //8、報異常 24 BigDecimal data7=new BigDecimal(dataStr).setScale(2,RoundingMode.UNNECESSARY); 25 System.out.println("RoundingMode.UNNECESSARY:"+data7);
執行結果2