Java中計算百分比(DecimalFormat是NumberFormat的一個具體子類,用於格式化十進位制數字)
public String getPercent(int x,int total){
String result="";//接受百分比的值
double x_double=x*1.0;
double tempresult=x/total;
//NumberFormat nf = NumberFormat.getPercentInstance(); 註釋掉的也是一種方法
//nf.setMinimumFractionDigits( 2 ); 保留到小數點後幾位
DecimalFormat df1 = new DecimalFormat("0.00%"); //##.00% 百分比格式,後面不足2位的用0補齊
//result=nf.format(tempresult);
result= df1.format(tempresult);
return result;
}
https://blog.csdn.net/shehun11/article/details/42141923
https://blog.csdn.net/lyh147406/article/details/76165947
https://blog.csdn.net/u011106915/article/details/75361276
https://blog.csdn.net/u014704879/article/details/41479399/
DecimalForma函式預設的四捨五入的方法是銀行家演算法。跟一般的四捨五入的方法不同。
銀行家演算法:四捨六入五考慮,五後非零就進一,五後為零看奇偶,五前為偶應捨去,五前為奇要進一。
DecimalFormat 提供 RoundingMode 中定義的舍入模式進行格式化。預設情況下,它使用 RoundingMode.HALF_EVEN,
要想實現正常的四捨五入,需要呼叫decimalFormat.setRoundingMode(RoundingMode.HALF_UP)方法實現四捨五入。
相關文章
- 位運算(一):二進位制中1的個數
- 位運算--求一個 數二進位制中1的個數
- 用c語言實現輸入一個十進位制數,計算其轉換為二進位制數後其中包含1的個數C語言
- java二進位制運算十進位制(精確運算)Java
- Java中關於十進位制數取反問題解決Java
- [計算機基礎] 計算機進位制轉換:二進位制、八進位制、十進位制、十六進位制計算機
- JavaScript 二進位制數字轉換為十進位制JavaScript
- javascript十進位制數字和二進位制相互轉換JavaScript
- 計算機基礎進位制轉換(二進位制、八進位制、十進位制、十六進位制)計算機
- 設計一個十進位制轉化為隨意進位制的程式
- 如何把十進位制的數輸入用二進位制全加器,並以十進位制輸出
- 十六進位制數轉十進位制
- 羅馬數字轉換成十進位制
- 對十進位制數字的按位輸出,取反,並求其位數
- 使用 Haskell 將十進位制數字轉成羅馬數字Haskell
- 牛客網測試題 把十六進位制數字轉換為十進位制數字
- java中二進位制、八進位制、十進位制、十六進位制的轉換Java
- DecimalFormat數字格式化用法“0”和“#”的區別DecimalORM
- 【c語言】統計一個數二進位制中的1的個數C語言
- 計算機中的二進位制計算機
- 一看就懂二進位制、八進位制、十六進位制數轉換十進位制
- 求一個整數的二進位制中1的個數
- 關於Java中進位制轉換以及位運算問題Java
- 二進位制中1的個數
- JAVA 二進位制,八進位制,十六進位制,十進位制間進行相互轉換Java
- 三種語言實現計算二進位制中1的個數(C++/Python/Java)C++PythonJava
- Oracle中的二進位制、八進位制、十進位制、十六進位制相互轉換函式Oracle函式
- 計算機中進位制轉換計算機
- IBM Power6拋棄傳統二進位制 使用十進位制數字IBM
- 用餘3碼錶示十進位制數
- C++輸入十進位制數,輸出對應二進位制數、十六進位制數C++
- 對於十進位制數 -1023,包含符號位在內,至少需要多少個二進位制位表示該數符號
- 1474 十進位制轉m進位制+1475 m進位制轉十進位制
- 關於十進位制網路
- n進位制轉十進位制
- 十進位制轉十六進位制
- Map集合中的具體子類TreeMap
- 二進位制,八進位制,十進位制,十六進位制的相互轉換