使用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。
推薦閱讀:
- java Wrapper類基本用法詳解
- Java基礎詳解之包裝類的裝箱拆箱
- JAVA新手小白學正則表達式、包裝類、自動裝箱/自動拆箱以及BigDecimal
- Android中String與int相互轉換
- JSON序列化導致Long類型被搞成Integer的坑及解決