我寫了這個代碼:小數點的Java
double sums = Math.round(sum) * 100.00/100.00;
我小數點(例如10.0
),但我想10.00
後我只得到一個0
。
有什麼問題嗎?
我寫了這個代碼:小數點的Java
double sums = Math.round(sum) * 100.00/100.00;
我小數點(例如10.0
),但我想10.00
後我只得到一個0
。
有什麼問題嗎?
我懷疑你打算
double sums = Math.round(sum * 100)/100.0;
這將數四捨五入至小數點後2位。
我只在小數點後面有一個0(例如10.0),但我想要10.00。
該號碼10.0
== 10.00
除格式之外沒有差別。您可以格式化字符串並同時舍入它。
double sum = 9.999;
String fmt = String.format("%.2f", sum);
// fmt = "10.00"
一個數字只是一個numebr,它沒有固有的格式。
使用String.format
,以確保你得到它只是你想
位的數量,例如,如果我寫
public static void main(String[] args) {
double sum=23.90;
double sums = Math.round(sum * 100)/100.0;
System.out.println(sums);
}
它會給我輸出 高達小數點後一位數 即23.9
但如果我將相同的代碼更改爲
public static void main(String[] args) {
double sum=23.945;
double sums = Math.round(sum * 100)/100.0;
System.out.println(sums);
}
我得到輸出至兩個小數點即 23.95
但隨着字符串格式,你將永遠相信您一定會多少小數打印
public static void main(String[] args) {
double sum=23.945;
double sums = Math.round(sum * 100)/100.0;
String fmt = String.format("%.1f", sums);
System.out.println(fmt);
}
輸出24.0 .. 但它有得到了圓整的問題 所以更好的做法是先使用首先將其轉換爲字符串,然後修剪字符
@Kayaman不是重複的... – assylias