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);