将双精度数加到4位小数或更少

时间:2015-10-26 15:46:41

标签: java double

我目前正在使用该方法:

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

这样做的问题是,如果我得到一个小数较少的数字,例如2.34,它将显示2.3400。有没有办法避免这种情况?

3 个答案:

答案 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