繁体   English   中英

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

[英]How to convert string to integer in java as well as android

我正在尝试将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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM