Java 如何将字符串转换为数字

在编程中我们经常需要进行各种数据类型之间的转换操作 , 下面将为您介绍如何将字符串转换为数字 。 首先我们需要了解各种数据类型的表示 , String在java中为字符串类型 , int在java中为整数类型 , 大小在-2147483648到2147483647 之间 , long为长整形 , 可以表示的数值大小比int大很多 , double和float表示浮点型数据 , 仅小数点后的精度不同 。 下图为字符串到各种数据类型的简单转换 。 工具/材料 【Java 如何将字符串转换为数字】Eclipse开发工具
操作方法 01 首先我们以int类型(整数类型)为例 , 介绍String字符串转换为整数的方法 。 下面要介绍int类型的包装类Integer , 同样long的包装类为Long , float的包装类为Float , double的包装类为Double , 包装类在数据类型转换中起到重要的作用 。 基本数据类型和包装类之间可以自动拆装箱 , 因此在互相转换的时候不需要强制类型转换 。 我们将字符串String转换为数值int时 , 需要用到Integer.parseInt()方法 , 如下图所示 , 字符串左边的0无论有多少个都会去掉 。

Java 如何将字符串转换为数字

文章插图

02 将字符串String转化为Integer类型 , 使用Integer.valueOf()方法 , 该方法既可用Integer类型来接收 , 也可用int类型来接收 。 因为Integer.valueOf()方法的返回值虽然是Integer类型 , 但是可以自动拆箱为int类型 。

Java 如何将字符串转换为数字

文章插图

03 下面介绍将整数int转化为Integer包装类 , 我们通过new一个Integer类的对象 , 并将int类型的数值传入即可 , 如下图所示 。

Java 如何将字符串转换为数字

文章插图

04 将Integer转化为int , 我们使用方法Integer.intValue() , 方法的返回值为int类型 。

Java 如何将字符串转换为数字

文章插图

05 以上步骤以int整数类型为例 , 介绍了字符串到整数的数值转换 。 String字符串类型转换为基本数据类型的数值型如Double, Float, Long 等方法都大同小异 , 而基本类型和包装类之间的互转也类似 。 下面不再单独介绍其他几种数值类型 , 转换方法如下图所示 。

Java 如何将字符串转换为数字

文章插图

06 int , long均为基本数据类型 , 那么如果String字符串表示的数值超过了这些基本数据类型的范围该怎么表示呢?此时我们需要BigDecimal类来接收 , 如果用int或long接收会出现 java.lang.NumberFormatException异常 , 如下图所示 。

Java 如何将字符串转换为数字

文章插图

Java 如何将字符串转换为数字

文章插图

07 以上步骤中数据类型转换已经完成了 , 但是还有一个容易被忽视的问题 , 那就是必须要保证str字符串都是数字才行 , 如果不是数字 , 则会报NumberFormatException异常 , 因此我们在类型转换之前还需要对字符串进行校验 , 确认字符串是否为数字 。 字符串的校验我们最先想到的便是正则表达式 , 如下图所示 。

推荐阅读