我目前正在使用该方法:
String.format("%.4", myDouble);
这样做的问题是,如果我得到一个小数较少的数字,例如2.34,它将显示2.3400。有没有办法避免这种情况?
答案 0 :(得分:4)
使用DecimalFormat
和模式#.####
应该有效。它将在小数点后显示最多4位数字,但如果不需要则可能会更少。
请参阅http://docs.oracle.com/javase/tutorial/i18n/format/decimalFormat.html
答案 1 :(得分:1)
您可以使用Math.round函数:)示例:
Math.round(192.15515452*10000)/10000.0
返回192.1551
和Math.round(192.15*10000)/10000.0
返回192.15
答案 2 :(得分: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