我正在尝试将字符串转换为其数字值,并将每个字符转换为它。问题是,如果字符串有字母或空格(基本上除了数字之外的任何东西),我想抛出异常。但它不抛出异常并继续将任何字符串转换为其数字格式。我在这里缺少什么?
编辑:我无法使用库函数进行转换
for (int i = str.length() - 1; i >= var; i--) {
if (str.charAt(i) >= '0' && str.charAt(0) <= '9') {
sum += (str.charAt(i) - '0') * Math.pow(10, power);
power++;
} else {
throw new Exception();
}
}
答案 0 :(得分:2)
你的if语句中有拼写错误
if (str.charAt(i) >= '0' && str.charAt(0) <= '9') {
应该是
if (str.charAt(i) >= '0' && str.charAt(i) <= '9') {
答案 1 :(得分:0)
尚未评论,所以写在这里。
你可能不想要str.charAt(0)&lt; =&#39; 9&#39;
还要考虑处理&#39; - &#39;负数