GWT-将字符串转换为浮点2个小数位

时间:2019-08-19 21:16:10

标签: java gwt

我有一些字符串值需要转换为浮点数,同时保留两位小数。我正在使用GWT,所以我尝试的所有示例在GWT 2.7中都不起作用

String value = "00.00";
String value2 = "-34.90";
String value3 = "3.45";

如何在GWT中将字符串转换为带小数点后两位的浮点数?

1 个答案:

答案 0 :(得分:1)

GWT是一个框架,您不需要在GWT中而是在Java中将字符串“转换”为浮点数。

正如评论中已经提到的,您不能要求在 float double 中使用特定的精度。您也不能相信他们的String表示是他们的实际价值……

如果确实只需要两个小数来表示一个数字,则建议您使用int来获取数值乘以100,然后在需要的任何地方执行简单的算术运算。您可以将其包装在Number类中:

class TwoDecimal extends Number {
    protected int val;

    public TwoDecimal(double val) {
        this.val = (int)Math.round(100 * val);
    }

    @Override
    public double toDouble() {
        return val / 100.0;
    }

    // Implement other abstract toXXX() methods

    @Override
    public String toString() {
        return (val / 100) + "." + (val % 100);
    }
}

还请记住,int可能无法存储double所涵盖的范围,因此您应根据使用情况对其进行调整。