当前位置: 代码迷 >> Android >> 如何在java和android中将字符串转换为整数
  详细解决方案

如何在java和android中将字符串转换为整数

热度:70   发布时间:2023-08-04 11:29:09.0

我正在尝试将String转换为Integer 我用过

int n1 = Integer.valueOf(s1,10);

我也试过

int n1 = Integer.parseInt(s1,10);

但我收到错误

E/AndroidRuntime: FATAL EXCEPTION: main
E/AndroidRuntime: Process: com.example.anmol.calc, PID: 19430
E/AndroidRuntime: java.lang.NumberFormatException: Invalid int: ""
E/AndroidRuntime: at java.lang.Integer.invalidInt(Integer.java:138)
E/AndroidRuntime: at java.lang.Integer.parseInt(Integer.java:358)

我该如何解决?

你得到一个

java.lang.NumberFormatException: Invalid int: ""

因为空String不是int 您可以使用正则表达式测试String包含数字( \\\\d+是一位或多位数字)。 就像是,

int n1 = 0;
if (s1 != null && s1.matches("\\d+")) {
    n1 = Integer.parseInt(s1);
}

你也可以用三元来写。 喜欢,

int n1 = (s1 == null || !s1.matches("\\d+")) ? 0 : Integer.parseInt(s1);
  相关解决方案