从双精度截断0

时间:2015-04-20 01:17:51

标签: java format printf

我有一个JTextField。我需要输出一个双。 Double一直在变化(程序是一个简单的计算器)。 double的可能选项是:10.123,22.1,12.00023123等。 问题是当我使用String.format时。它总是在“。”之后给我5个小数位。即使那些是零。 有没有办法在需要时截断那些0,但是留下其他数字呢?

谢谢。

screen.setText(String.format("%10.5f", secondNumber));

2 个答案:

答案 0 :(得分:1)

怎么样:

screen.setText(String.format("%10s", secondNumber));

它将显示保留值但不包含尾随零所需的最小位数。

答案 1 :(得分:0)

我使用了Jason的回应和这个的组合:

String test = "" +Math.floor(secondNumber*1000)/1000;
screen.setText(String.format("%10s", test));  

这实际上有所帮助。谢谢。