Java字符串与数字间的转换
在工作中,或刷算法题(主要)时有时会遇到需要将字符串或其子串转化为数字的情况。尽管用过不少次了,但总是忘,不如趁此机会总结一下。。
字符串转为数字
1、使用包装类的 valueOf() 方法
通过包装类的 valueOf() 方法,可以将字符串转换为想要的包装类,Byte、Short、Integer、Long、Float、Double 都有对应的 ValueOf() 方法。
String str = "123";
Integer a = Integer.valueOf(str); // 123
Double b = Double.valueOf(str); // 123.0
2、使用包装类的 parseXXX() 方法
通过包装类的 parseXXX() 方法,可以将字符串转换为想要的基本数据类型
String str = "456";
int a = Integer.parseInt(str); // 456
int b = Double.parseDouble(str); // 456.0
3、将字符串的字串转化为数字
String str = "123456";
int a = Integer.valueOf(str.substring(0,3)); // 123
int b = Integer.valueOf(str.substring(3,6)); // 456
字符转化为数字
String str = "123456";
int a = str.charAt(0) - '0'; // 1
数字转化为字符串
1、String的 valueOf() 方法
这是最常用的方法,对于包装类以及基本数据类型都适用。
Integer a1 = 123;
int a2 = 456;
String str1 = String.valueOf(a1); // "123"
String str2 = String.valueOf(a2); // "456"
2、直接拼接空字符串
int a = 123;
String str = a + ""; // "123"
3、包装类的 toString() 方法
注意该方法只适用于包装类,基本数据类型需要先调用包装类的 valueOf() 方法再使用。
Integer a1 = 123;
String str = a1.toString(); // "123"
------------------------------
int a2 = 456;
Integer b = Integer.valueOf(a2);
String str2 = b.toString(); // "456"