我目前使用的方法:回合雙到4位小數以下
String.format("%.4", myDouble);
這種麻煩的是,如果我用更少的小數,如2.34的數值,它就會顯示2.3400。有沒有辦法避免這種情況?
我目前使用的方法:回合雙到4位小數以下
String.format("%.4", myDouble);
這種麻煩的是,如果我用更少的小數,如2.34的數值,它就會顯示2.3400。有沒有辦法避免這種情況?
使用DecimalFormat
和模式。
double value = 2.34;
String pattern = "#.####";
DecimalFormat myFormatter = new DecimalFormat(pattern);
String output = myFormatter.format(value);
System.out.println(value + " " + pattern + " " + output); // displays 2.34 #.#### 2.34
可以使用Math.round功能:)例如:
Math.round(192.15515452*10000)/10000.0
收益192.1551
和Math.round(192.15*10000)/10000.0
收益192.15
使用DecimalFormat
和模式#.####
應該工作。它將在小數點後顯示最多4位數字,但如果不需要可能會減少。
見http://docs.oracle.com/javase/tutorial/i18n/format/decimalFormat.html
使用'DecimalFormat'格式化小數... – Codebender
如果你是在談論一個百分比或科學的環境中使用這一點,它可能是更清晰的將它們全部寫與相同的小數位數。例如,如果它正好是2.3400%,下一個數字是5.8794%,那麼前者應該寫爲2.3400。這裏,零點非常重要。 – rajah9
http://stackoverflow.com/questions/11701399/round-up-to-2-decimal-places-in-java – Reimeus