java字符串轉(zhuǎn)數(shù)字及各種數(shù)字轉(zhuǎn)字符串的3種方法
java字符串轉(zhuǎn)數(shù)字的方法
1、轉(zhuǎn)化為int型數(shù)字 Integer.parseInt(String s) Integer.valueOf(String s);
2、轉(zhuǎn)化為long型數(shù)字 Long.parseLong(String s) Long.valueOf(String s);
3、轉(zhuǎn)化為float型數(shù)字 Float.parseFloat(String s) Float.valueOf(String s)
4、轉(zhuǎn)化為double型數(shù)字 Double.parseDouble(String s) Double.valueOf(String s)
其余類型省略,請讀者自行探索…
注意事項:
1.字符串內(nèi)不能包含除數(shù)字之外的字符,不然會報錯,java.lang.NumberFormatException
2.字符串長度要限制,不然也會出錯
比如:String s =“20160926120625100000”,超過19位,就會出錯,報java.lang.NumberFormatException
String s =“2016092612062510000”,不超過19位就不會
原因是Long類型的最大值位 Long.MAX_VALUE = 9223372036854775807,大于這個值都會出錯
Long類型的最小值位 Long.MIN_VALUE=-9223372036854775808,小于這個值也會報錯
方法a、通過基本類型對應(yīng)的包裝類則可以實現(xiàn)把字符串轉(zhuǎn)換成基本類型。Java為8種基本類型都提供了對應(yīng)的包裝類:boolean對應(yīng)Boolean、byte對應(yīng)Byte、short對應(yīng)Short、int對應(yīng)Integer、long對應(yīng)Long、char對應(yīng)Character、float對應(yīng)Float、double對應(yīng)Double,8個包裝類都提供了一個parseXxx(String str)靜態(tài)方法用于將字符串轉(zhuǎn)換成基本類型。(注意:如果字符串不是數(shù)值型字符串,轉(zhuǎn)換將導(dǎo)致一個運行時錯誤。),如下左側(cè)的示例代碼。
方法b、i=Integer.valueOf(s).intValue(); 如下右側(cè)的示例代碼。
總結(jié):方法a直接使用靜態(tài)方法,不會產(chǎn)生多余的對象,但會拋出異常。方法b,Integer.valueOf(s) 相當(dāng)于new Integer(Integer.parseInt(s)),也會拋異常,但會多產(chǎn)生一個對象。
后續(xù)敘述圖片種的代碼模板如下:
public class Demo {
public static void main(String[] args) {
String str = "123";
int num = Integer.parseInt(str);
int sum = num + 100;
System.out.println("Result is: " + sum);
}
}1、轉(zhuǎn)化為int型數(shù)字 Integer.parseInt(String s)
Integer.valueOf(String s);

2、轉(zhuǎn)化為long型數(shù)字 Long.parseLong(String s)
Long.valueOf(String s);

3、轉(zhuǎn)化為float型數(shù)字 Float.parseFloat(String s)
Float.valueOf(String s)

4、轉(zhuǎn)化為double型數(shù)字 Double.parseDouble(String s) Double.valueOf(String s)

其余類型省略,請讀者自行探索…
各種數(shù)字轉(zhuǎn)字符串的3種方法
方法一、i + “”
方法二、String.valueOf(value)
各種數(shù)字類型轉(zhuǎn)換成字符串型:其中 value 為任意一種數(shù)字類型。將不用擔(dān)心value 是否為null值這一問題。
方法三、Object.toString(value )
在使用時要注意,必須保證object不是null值,否則將拋出NullPointerException異常。
效率:方法三>方法一>方法二,方法一和方法二差別不大。
代碼示例如下:
public class Demo {
public static void main(String[] args) {
// int i = 123;
// long i = 123;
// float i = 123.123f;
double i = 123.123;
String s1 = i + ""; // 方法一
String s2 = String.valueOf(i); // 方法二
// 方法三
// String s3 = Integer.toString(i); // i需要是int
// String s3 = Long.toString(i); // i需要是long
// String s3 = Float.toString(i); // i需要是float
String s3 = Double.toString(i); // i需要是double
System.out.println("s1=" + s1);
System.out.println("s2=" + s2);
System.out.println("s3=" + s3);
}
}運行結(jié)果:
s1=123.123
s2=123.123
s3=123.123
備注:方法1和2與待轉(zhuǎn)換的數(shù)字類型無關(guān);方法3與待轉(zhuǎn)換的數(shù)字類型相關(guān),不同的類型需要調(diào)用不同的方法。
到此這篇關(guān)于java字符串轉(zhuǎn)數(shù)字,各種數(shù)字轉(zhuǎn)字符串的3種方法的文章就介紹到這了,更多相關(guān)java字符串轉(zhuǎn)數(shù)字內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java動態(tài)線程池插件dynamic-tp集成過程淺析
這篇文章主要介紹了Java動態(tài)線程池插件dynamic-tp集成過程,dynamic-tp是一個輕量級的動態(tài)線程池插件,它是一個基于配置中心的動態(tài)線程池,線程池的參數(shù)可以通過配置中心配置進(jìn)行動態(tài)的修改2023-03-03
Spring事件監(jiān)聽機制ApplicationEvent方式
這篇文章主要介紹了Spring事件監(jiān)聽機制ApplicationEvent方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-09-09
Sharding Jdbc批量操作引發(fā)fullGC解決
這篇文章主要為大家介紹了Sharding Jdbc批量操作引發(fā)fullGC解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11
Java中的信息摘要算法MessageDigest類用法詳解
這篇文章主要介紹了Java中的信息摘要算法MessageDigest類用法詳解,java.security.MessageDigest類為應(yīng)用程序提供信息摘要算法的功能,如MD5或SHA-1或SHA-256算法,信息摘要是安全的單向哈希函數(shù),它接收任意大小的數(shù)據(jù),并輸出固定長度的哈希值,需要的朋友可以參考下2024-01-01
java lambda 表達(dá)式中的雙冒號的用法說明 ::
這篇文章主要介紹了java lambda 表達(dá)式中的雙冒號的用法說明 ::具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-09-09

