/**
* Java 兩個整數相除保留兩位小數,將小數轉化為百分數
* java中,當兩個整數相除時,由於小數點以后的數字會被截斷,運算結果將為整數,此時若希望得到運算結果為浮點數,必須將兩整數其一或是兩者都強制轉換為浮點數。
例如:
(float)a/b // 將整數其中一個強制轉換為浮點數,再與另一個整數相除
a/(float)b
(float)a/(float)b // 將兩個整數同時強制轉換為浮點數后再相除
*/
///////計算小數點的位數: System.out.println("1/8="+1/(float)8); float TT = Math.round(1/(float)8); //返回的是int型。 System.out.println("四舍五入小數:"+TT); System.out.println("四舍五入小數2:"+Math.round(2.1546));
////方法1 double dd = (double) (Math.round(1/(float)8*100)/100.0); System.out.println("dd="+dd); // (double) (Math.round(sd3*10000)/10000.0); 這樣為保持4位
////方法2 DecimalFormat df2 = new DecimalFormat("###.00"); DecimalFormat df3 = new DecimalFormat("###.000"); System.out.println("轉換2="+df2.format(1/(float)8)); System.out.println("轉換3="+df3.format(1.1256));
////方法3 // String ss = String.format("%10.2f%%", 1.1256); //1.13f // String ss = String.format("%10.2f", 1.1256); // 1.13 String ss = String.format("%1.2f", 1.1256); //1.13 System.out.println("轉換4="+ss);
////方法4 double x=23.5455; NumberFormat ddf1=NumberFormat.getNumberInstance() ; ddf1.setMaximumFractionDigits(2); String s= ddf1.format(x) ; System.out.print("數字格式="+s); //四舍五入 23.55
////方法5 float T = 0.1257f; BigDecimal b = new BigDecimal(T); T = b.setScale(2,BigDecimal.ROUND_HALF_UP).floatValue(); System.out.println("保留2位小數:"+T);