java中字符串与数字间的相互转换

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"
  • 39
    点赞
  • 257
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 在Java,可以使用`Integer.parseInt()`方法将字符串转换为整数。例如: ``` String str = "123"; int num = Integer.parseInt(str); ``` 同样,也可以使用`Double.parseDouble()`方法将字符串转换为浮点数。 ``` String str = "3.14"; double num = Double.parseDouble(str); ``` 需要注意的是,如果字符串不能被解析为数字,上述方法会抛出`NumberFormatException`异常。因此,在转换之前应该确保字符串是一个有效的数字表示。 ### 回答2: 在Java,我们可以使用几种方法将字符串转换数字。 首先,我们可以使用`Integer.parseInt()`方法将字符串转换为整数。例如,如果我们有一个字符串"123",我们可以使用以下代码将其转换为整数: ```java String str = "123"; int num = Integer.parseInt(str); ``` 类似地,我们也可以使用`Double.parseDouble()`方法将字符串转换为双精度浮点数。例如,如果我们有一个字符串"3.14",我们可以使用以下代码将其转换为双精度浮点数: ```java String str = "3.14"; double num = Double.parseDouble(str); ``` 如果我们希望转换字符串表示一个长整数或长浮点数,我们可以使用`Long.parseLong()`或`Long.parseLong()`方法。例如,如果我们有一个字符串"1000000000000",我们可以使用以下代码将其转换为长整数: ```java String str = "1000000000000"; long num = Long.parseLong(str); ``` 需要注意的是,如果字符串无法转换为有效的数字,这些方法都会引发`NumberFormatException`异常。因此,在使用这些方法之前,我们应该确保字符串是有效的数字表示。 另外,我们也可以使用`valueOf()`方法将字符串转换数字对象。例如,我们可以使用以下代码将字符串"456"转换为整数对象: ```java String str = "456"; Integer num = Integer.valueOf(str); ``` 总的来说,以上是将字符串转换数字的几种常见方法。根据需要选择合适的方法进行转换。 ### 回答3: 在Java,可以使用Integer类和Double类提供的静态方法将字符串转换为对应的整数和浮点数。 如果要将字符串转换为整数,可以使用Integer类的parseInt()方法。例如: ```java String str = "123"; int num = Integer.parseInt(str); System.out.println(num); // 输出:123 ``` 如果要将字符串转换为浮点数,可以使用Double类的parseDouble()方法。例如: ```java String str = "3.14"; double num = Double.parseDouble(str); System.out.println(num); // 输出:3.14 ``` 需要注意的是,当字符串无法转换数字时,会抛出NumberFormatException异常。因此,在转换之前最好先进行格式检查或使用try-catch语句处理异常。 除了以上的方法,还可以使用包装类提供的valueOf()方法将字符串转换为对应的数字对象,然后通过自动拆箱转换为基本数据类型。例如: ```java String str = "567"; Integer numObj = Integer.valueOf(str); int num = numObj.intValue(); System.out.println(num); // 输出:567 ``` 需要注意的是,当字符串无法转换数字时,valueOf()方法返回的是对应包装类型的默认值(null或0),而不会抛出异常。因此,在使用时需要注意判断返回值是否为null。 总结起来,通过使用Integer类和Double类提供的方法,可以将字符串转换为对应的整数和浮点数,方便在程序进行数字的处理和计算。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值