【JAVA float double數據類型保留2位小數點5種方法】


 1 /**
 2 * Java 兩個整數相除保留兩位小數,將小數轉化為百分數
 3 * java中,當兩個整數相除時,由於小數點以后的數字會被截斷,運算結果將為整數,此時若希望得到運算結果為浮點數,必須將兩整數其一或是兩者都強制轉換為浮點數。
 4 例如:
 5 (float)a/b // 將整數其中一個強制轉換為浮點數,再與另一個整數相除
 6 a/(float)b
 7 (float)a/(float)b // 將兩個整數同時強制轉換為浮點數后再相除
 8 */
 9 
10 
11 ///////計算小數點的位數:
12         System.out.println("1/8="+1/(float)8);
13         
14         float TT = Math.round(1/(float)8);   //返回的是int型。
15         System.out.println("四舍五入小數:"+TT);
16         System.out.println("四舍五入小數2:"+Math.round(2.1546));
17 
18 ////方法1
19         double dd = (double) (Math.round(1/(float)8*100)/100.0);
20         System.out.println("dd="+dd);
21         // (double) (Math.round(sd3*10000)/10000.0);   這樣為保持4位
22 
23 ////方法2 
24         DecimalFormat df2 = new DecimalFormat("###.00");
25         DecimalFormat df3 = new DecimalFormat("###.000");
26 
27         System.out.println("轉換2="+df2.format(1/(float)8));
28         System.out.println("轉換3="+df3.format(1.1256));
29 
30 ////方法3
31 //        String ss = String.format("%10.2f%%", 1.1256);  //1.13f
32 //        String ss = String.format("%10.2f", 1.1256);   //       1.13
33         String ss = String.format("%1.2f", 1.1256);   //1.13
34         System.out.println("轉換4="+ss);
35 
36 ////方法4
37          double x=23.5455; 
38          NumberFormat ddf1=NumberFormat.getNumberInstance() ;
39          ddf1.setMaximumFractionDigits(2); 
40          String s= ddf1.format(x) ; 
41          System.out.print("數字格式="+s);   //四舍五入   23.55
42 
43 ////方法5
44         float T = 0.1257f;
45         BigDecimal b = new BigDecimal(T);  
46         T = b.setScale(2,BigDecimal.ROUND_HALF_UP).floatValue();  
47         System.out.println("保留2位小數:"+T);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM