使用String類型小數值轉換為Long類型

String類型小數值轉為Long類型

數值分為小數和整數,當傳入的類型為String,需要獲取的類型為Long,這時候直接通過Long.valueOf()可以實現,但是當傳入的String類型是小數值得時候(如傳入的是金額數值:”29.90″,註意:金額數值經常進行乘以100後再往下執行業務邏輯:)就會出現

異常java.lang.NumberFormatException: For input string: “29.90”

解決方案如下

對於多位小數的數值轉化為long的時候需要先將其進行轉換成整數過渡處理

        String orderAmount = "29.90";
        Number num = Float.parseFloat(orderAmount)*100;
        int oamount = num.intValue();
        long _cost = Long.valueOf(oamount);

String類型轉int,轉long

String str1 = "123";
String str2 = "123.0";

不帶小數:可直接可轉為int

int a = Integer.parseInt(str);

帶小數,直接轉為int會報數字格式化異常,需要先轉為double,後轉為int

轉int

int b = (int)Double.parseDouble(str);

轉long

long c = (long)(Double.parseDouble(str));

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。

推薦閱讀: