2015-10-26 61 views
3

我目前使用的方法:回合雙到4位小數以下

String.format("%.4", myDouble); 

這種麻煩的是,如果我用更少的小數,如2.34的數值,它就會顯示2.3400。有沒有辦法避免這種情況?

+2

使用'DecimalFormat'格式化小數... – Codebender

+0

如果你是在談論一個百分比或科學的環境中使用這一點,它可能是更清晰的將它們全部寫與相同的小數位數。例如,如果它正好是2.3400%,下一個數字是5.8794%,那麼前者應該寫爲2.3400。這裏,零點非常重要。 – rajah9

+1

http://stackoverflow.com/questions/11701399/round-up-to-2-decimal-places-in-java – Reimeus

回答

1

使用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 

更多引用Customizing Formats

1

可以使用Math.round功能:)例如:

Math.round(192.15515452*10000)/10000.0 

收益192.1551

Math.round(192.15*10000)/10000.0

收益192.15