GWT在文本框中显示小数

时间:2012-07-18 21:01:09

标签: java gwt

我对GWT完全不熟悉,如果这是一个明显的问题,请原谅我。

我有一个TextBox,我想从中取一个值并舍入到3个小数位,然后将舍入值返回到同一个文本框。这可能不是优雅的方式,但似乎这应该有效。

inputValueBox = new TextBox();
            .
            .
            .     
double doubleValue = Double.parseDouble(inputValueBox.getText());
doubleValue = (Math.round(doubleValue * 1000))/1000;
inputValueBox.setText(Double.toString(doubleValue));

我尝试过多种不同的方法,最终结果是,在inputValueBox中,小数点右边的所有值都报告为零。所以,当我采取:

(Math.round(0.99283425 * 1000))/ 1000我希望得到0.993。我最终得到的是0.0

我错过了什么?

1 个答案:

答案 0 :(得分:1)

始终查找现有的数字/​​日期格式库。 GWT确实提供了它自己的:NumberFormat

在您自己的代码中,您看到0,这是整数除法的预期结果:Math.round返回整数结果。要强制你期望的浮点结果,你可以强制转换其中一个操作数,或者只使用一个浮点作为除数:

doubleValue = Math.round(doubleValue * 1000) / 1000.0;