【问题标题】:GWT displaying decimals in a textboxGWT 在文本框中显示小数
【发布时间】:2026-01-05 21:05:01
【问题描述】:

我是 GWT 的新手,所以如果这是一个明显的问题,请原谅我。

我有一个文本框,我想从中取一个值并四舍五入到小数点后 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

我错过了什么?

【问题讨论】:

    标签: java gwt


    【解决方案1】:

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

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

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

    【讨论】: