欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java中將字符串?dāng)?shù)字轉(zhuǎn)換成數(shù)字類型的多種方法

 更新時間:2025年08月18日 09:32:01   作者:detayun  
這篇文章主要介紹了Java中將字符串?dāng)?shù)字轉(zhuǎn)換成數(shù)字類型的多種方法,Java中字符串轉(zhuǎn)數(shù)字可用parseXXX方法、自動類型推斷、異常處理、BigDecimal及Apache庫實(shí)現(xiàn),需注意格式驗證、數(shù)據(jù)可靠性、精度及性能選擇,尤其處理用戶輸入時推薦帶異常處理方案,需要的朋友可以參考下

在Java中將字符串?dāng)?shù)字轉(zhuǎn)換為數(shù)字類型有多種方法,以下是詳細(xì)說明和示例代碼:

一、基礎(chǔ)轉(zhuǎn)換方法

  1. Integer.parseInt()
String str = "123";
int num = Integer.parseInt(str); // 轉(zhuǎn)換為int
  1. Double.parseDouble()
String str = "3.14";
double num = Double.parseDouble(str); // 轉(zhuǎn)換為double
  1. Long.parseLong()
String str = "9876543210";
long num = Long.parseLong(str); // 轉(zhuǎn)換為long

二、處理進(jìn)制轉(zhuǎn)換

String hexStr = "1A";
int decimal = Integer.parseInt(hexStr, 16); // 十六進(jìn)制轉(zhuǎn)十進(jìn)制 → 26

String binaryStr = "1010";
int decimal = Integer.parseInt(binaryStr, 2); // 二進(jìn)制轉(zhuǎn)十進(jìn)制 → 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());
}

五、高級處理方案

  1. 使用Scanner
String str = "42.5";
Scanner scanner = new Scanner(str);
double num = scanner.nextDouble(); // 自動識別數(shù)字類型
  1. BigDecimal處理高精度
String str = "12345678901234567890.12345";
BigDecimal bigDecimal = new BigDecimal(str);
  1. Apache Commons Lang
// 需要添加依賴:commons-lang3
String str = "123";
if (NumberUtils.isParsable(str)) {
    int num = NumberUtils.toInt(str, 0); // 安全轉(zhuǎn)換,失敗返回默認(rèn)值0
}

六、特殊場景處理

  1. 去除空格
String str = "  123  ";
int num = Integer.parseInt(str.trim());
  1. 處理千位分隔符
NumberFormat format = NumberFormat.getInstance(Locale.US);
Number number = format.parse("1,234,567"); // → 1234567

注意事項:

  1. 轉(zhuǎn)換前建議使用正則表達(dá)式驗證格式
String str = "123.45";
if (str.matches("-?\\d+(\\.\\d+)?")) {
    // 執(zhí)行轉(zhuǎn)換操作
}
  1. 超大數(shù)字處理建議使用BigInteger
String hugeNumber = "123456789012345678901234567890";
BigInteger bigInt = new BigInteger(hugeNumber);

選擇方法時的考量因素:

  • 是否需要處理異常
  • 數(shù)字精度要求
  • 性能需求(直接解析 vs 對象轉(zhuǎn)換)
  • 是否需要處理本地化格式
  • 輸入數(shù)據(jù)的可靠性程度

建議根據(jù)具體場景選擇最合適的方法,對于用戶輸入等不可靠數(shù)據(jù)源,推薦使用帶異常處理的方案。

以上就是Java中將字符串?dāng)?shù)字轉(zhuǎn)換成數(shù)字類型的多種方法的詳細(xì)內(nèi)容,更多關(guān)于Java字符串?dāng)?shù)字轉(zhuǎn)換數(shù)字類型的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Java集合中的TreeMap解讀

    Java集合中的TreeMap解讀

    這篇文章主要介紹了Java集合中的TreeMap解讀,TreeMap可以傳入一個實(shí)現(xiàn)了 Comparator接口的一個匿名內(nèi)部類,匿名內(nèi)部類里面我們?nèi)匀豢梢匀ブ付ㄌ砑游覀兊逆I值對的這種排序規(guī)則,需要的朋友可以參考下
    2023-09-09
  • spring boot輸入數(shù)據(jù)校驗(validation)的實(shí)現(xiàn)過程

    spring boot輸入數(shù)據(jù)校驗(validation)的實(shí)現(xiàn)過程

    web項目中,用戶的輸入總是被假定不安全不正確的,在被處理前需要做校驗。本文介紹在spring boot項目中實(shí)現(xiàn)數(shù)據(jù)校驗的過程,通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2021-09-09
  • 關(guān)于集合與數(shù)組轉(zhuǎn)換實(shí)現(xiàn)方法

    關(guān)于集合與數(shù)組轉(zhuǎn)換實(shí)現(xiàn)方法

    這篇文章主要介紹了關(guān)于集合與數(shù)組轉(zhuǎn)換實(shí)現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-06-06
  • Spring?Boot的幾種統(tǒng)一處理方式梳理小結(jié)

    Spring?Boot的幾種統(tǒng)一處理方式梳理小結(jié)

    這篇文章主要為大家介紹了Spring?Boot的幾種統(tǒng)一處理方式梳理小結(jié),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • Spring中的Context你真的懂了嗎

    Spring中的Context你真的懂了嗎

    這篇文章主要給大家介紹了關(guān)于Spring中Context的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Spring具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • 詳解JUC并發(fā)編程之鎖

    詳解JUC并發(fā)編程之鎖

    這篇文章主要為大家介紹了JUC并發(fā)編程之鎖,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • Java環(huán)境徹底卸載與安裝方法教程(史上最全!)

    Java環(huán)境徹底卸載與安裝方法教程(史上最全!)

    有時候卸載Java時真的讓人很煩,明明卸載了但重新安裝Java時還報錯,下面這篇文章主要介紹了Java環(huán)境徹底卸載與安裝方法的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-07-07
  • 詳解spring batch的使用和定時器Quart的使用

    詳解spring batch的使用和定時器Quart的使用

    spring Batch是一個基于Spring的企業(yè)級批處理框架,它通過配合定時器Quartz來輕易實(shí)現(xiàn)大批量的數(shù)據(jù)讀取或插入,并且全程自動化,無需人員管理
    2017-08-08
  • Java Springboot自動裝配原理詳解

    Java Springboot自動裝配原理詳解

    這篇文章主要介紹了詳解SpringBoot自動配置原理,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2021-10-10
  • 基于Java實(shí)現(xiàn)互聯(lián)網(wǎng)實(shí)時聊天系統(tǒng)(附源碼)

    基于Java實(shí)現(xiàn)互聯(lián)網(wǎng)實(shí)時聊天系統(tǒng)(附源碼)

    Netty?是一個利用?Java?的高級網(wǎng)絡(luò)的能力,隱藏其背后的復(fù)雜性而提供一個易于使用的?API?的客戶端/服務(wù)器框架。本文將利用它實(shí)現(xiàn)互聯(lián)網(wǎng)實(shí)時聊天系統(tǒng),感興趣的可以了解一下
    2022-09-09

最新評論