java 兩個整數相除保留兩位小數:
http://blog.sina.com.cn/s/blog_624d755d0101cvuq.html
java中,當兩個整數相除時,由於小數點以后的數字會被截斷,運算結果將為整數,此時若希望得到運算結果為浮點數,必須將兩整數其一或是兩者都強制轉換為浮點數。
例如:
(float)a/b // 將整數其中一個強制轉換為浮點數,再與另一個整數相除
a/(float)b
(float)a/(float)b // 將兩個整數同時強制轉換為浮點數后再相除
Java代碼
- float num= (float)2/3;
- DecimalFormat df = new DecimalFormat("0.00");//格式化小數
- String s = df.format(num);//返回的是String類型
將小數轉化為百分數:
import java.text.NumberFormat;
public class TeachYou {
public static void main(String[] args) {
//這里的數后面加“D”是表明它是Double類型,否則相除的話取整,無法正常使用
double percent = 50.5D / 150D;
//輸出一下,確認你的小數無誤
System.out.println("小數:" + percent);
//獲取格式化對象
NumberFormat nt = NumberFormat.getPercentInstance();
//設置百分數精確度2即保留兩位小數
nt.setMinimumFractionDigits(2);
//最后格式化並輸出
System.out.println("百分數:" + nt.format(percent));
}
}
取限定位數
// 創建一個數值格式化對象
NumberFormat nt = NumberFormat.getInstance();
// 設置精確到小數點后2位
nt.setMinimumFractionDigits(2);
nt.setMaximumFractionDigits(2);
nt.format((float) a / (float) count);
