Java中將字符串數(shù)字轉換成數(shù)字類型的多種方法
在Java中將字符串數(shù)字轉換為數(shù)字類型有多種方法,以下是詳細說明和示例代碼:
一、基礎轉換方法
- Integer.parseInt()
String str = "123"; int num = Integer.parseInt(str); // 轉換為int
- Double.parseDouble()
String str = "3.14"; double num = Double.parseDouble(str); // 轉換為double
- Long.parseLong()
String str = "9876543210"; long num = Long.parseLong(str); // 轉換為long
二、處理進制轉換
String hexStr = "1A"; int decimal = Integer.parseInt(hexStr, 16); // 十六進制轉十進制 → 26 String binaryStr = "1010"; int decimal = Integer.parseInt(binaryStr, 2); // 二進制轉十進制 → 10
三、自動類型推斷(Java 8+)
String str = "42";
Integer num = Integer.valueOf(str); // 返回Integer對象
Double d = Double.valueOf("3.1415"); // 返回Double對象
四、異常處理
try {
String input = "12a3";
int number = Integer.parseInt(input);
} catch (NumberFormatException e) {
System.out.println("無效的數(shù)字格式: " + e.getMessage());
}
五、高級處理方案
- 使用Scanner
String str = "42.5"; Scanner scanner = new Scanner(str); double num = scanner.nextDouble(); // 自動識別數(shù)字類型
- BigDecimal處理高精度
String str = "12345678901234567890.12345"; BigDecimal bigDecimal = new BigDecimal(str);
- Apache Commons Lang
// 需要添加依賴:commons-lang3
String str = "123";
if (NumberUtils.isParsable(str)) {
int num = NumberUtils.toInt(str, 0); // 安全轉換,失敗返回默認值0
}
六、特殊場景處理
- 去除空格
String str = " 123 "; int num = Integer.parseInt(str.trim());
- 處理千位分隔符
NumberFormat format = NumberFormat.getInstance(Locale.US);
Number number = format.parse("1,234,567"); // → 1234567
注意事項:
- 轉換前建議使用正則表達式驗證格式
String str = "123.45";
if (str.matches("-?\\d+(\\.\\d+)?")) {
// 執(zhí)行轉換操作
}
- 超大數(shù)字處理建議使用BigInteger
String hugeNumber = "123456789012345678901234567890"; BigInteger bigInt = new BigInteger(hugeNumber);
選擇方法時的考量因素:
- 是否需要處理異常
- 數(shù)字精度要求
- 性能需求(直接解析 vs 對象轉換)
- 是否需要處理本地化格式
- 輸入數(shù)據的可靠性程度
建議根據具體場景選擇最合適的方法,對于用戶輸入等不可靠數(shù)據源,推薦使用帶異常處理的方案。
以上就是Java中將字符串數(shù)字轉換成數(shù)字類型的多種方法的詳細內容,更多關于Java字符串數(shù)字轉換數(shù)字類型的資料請關注腳本之家其它相關文章!
相關文章
編碼實現(xiàn)從無序鏈表中移除重復項(C和JAVA實例)
如果不能使用臨時緩存,你怎么實現(xiàn)無序鏈表中移除重復項(?C和JAVA實例無序鏈表中移除重復項。2013-10-10
java WSDL接口webService實現(xiàn)方式
這篇文章主要為大家詳細介紹了java WSDL接口webService實現(xiàn)方式的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-04-04
IDEA神器一鍵查看Java字節(jié)碼及其他類信息插件
這篇文章主要為大家介紹了一款IDEA神器,可以一鍵查看Java字節(jié)碼及其他類信息,有需要的朋友可以借鑒參考下,希望能夠有所幫助2022-01-01
Java 轉義字符全解析從基礎語法到安全編碼實踐(最新推薦)
本文詳細介紹了Java中的轉義字符,包括基礎轉義序列、Unicode轉義、Java 15的文本塊特性以及在正則表達式和安全編碼中的應用,通過實例和最佳實踐,幫助開發(fā)者正確使用轉義字符,提高代碼的正確性和安全性,感興趣的朋友跟隨小編一起看看吧2025-10-10
Java中Scanner類與BufferReader類的不同點(非常詳細)
這篇文章主要介紹了Java中Scanner類與BufferReader類的不同點(非常詳細)的相關資料,需要的朋友可以參考下2016-08-08
maven報錯:Failed to execute goal on p
這篇文章主要介紹了maven報錯:Failed to execute goal on project問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-04-04
Java SSM實現(xiàn)前后端協(xié)議聯(lián)調詳解上篇
首先我們已經知道,在現(xiàn)在流行的“前后端完全分離”架構中,前后端聯(lián)調是一個不可能避免的問題,這篇文章主要介紹了Java SSM實現(xiàn)前后端協(xié)議聯(lián)調過程2022-08-08

