簡體   English   中英

GWT-將字符串轉換為浮點2個小數位

[英]GWT - convert string to float 2 decimal places

我有一些字符串值需要保留兩個小數位后轉換為float。 我正在使用GWT,所以我嘗試的所有示例都無法在GWT 2.7中使用

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

如何在GWT中將字符串轉換為帶小數點后兩位的浮點數?

GWT是一個框架,您不需要在GWT中而是在Java中將字符串“轉換”為浮點數。

如評論中所述,您不能要求floatdouble的特定精度。 您也不能相信它們的String表示形式是它們的實際值...

如果確實只需要兩個小數來表示一個數字,建議您使用一個將值乘以100的int ,然后在所需的任何位置執行簡單的算術運算。 您可以將其包裝在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 cover的跨度,因此您應使其適應您的用例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM