gpt4 book ai didi

java - 要检查是否将可解析的字符串传递给 Integer?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:38:45 26 4
gpt4 key购买 nike

我想检查传递给 Integer.valueOf(String s)String 是一个要解析的有效字符串。如果一个不可解析,我需要返回 0。

我是按以下方式做的:

try{
Integer.valueOf(String s)
} catch(NumberFormatException e) {
return 0;
}

这样做不好吗?

最佳答案

方法一:使用正则表达式判断数字的合法性

public static int parseStrToInt(String str) {
if (str.matches("\\d+")) {
return Integer.parseInt(str);
} else {
return 0;
}
}

方法二:使用Java内置的java.text.NumberFormat对象,看字符串解析后解析器位置是否在字符串末尾。如果是,我们可以假设整个字符串都是数字

public static int strToInt(String str) {
NumberFormat formatter = NumberFormat.getInstance();
ParsePosition pos = new ParsePosition(0);
formatter.parse(str, pos);

if (str.length() == pos.getIndex()) {
return Integer.parseInt(str);
} else {
return 0;
}
}

关于java - 要检查是否将可解析的字符串传递给 Integer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26098604/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com