我正在尝试制作一个if else语句,其中中间值查看子字符串中的第4个数字是否为整数,如果它是我想要在数字前面的负数,如果不是我不想要的话在前面消极。错误即时获取是在其他行如果它需要一个布尔值并找到一个int如何解决这个问题,否则如果行检查子字符串4是否为int?
if (strAlt.equals("03"))
{
return "N/A";
}
else if (Integer.parseInt(strPos.substring(4)))
{
return "-" +strPos.substring(4,7) + "C";
}
else
{
return strPos.substring(4,7) + "C";
}
答案 0 :(得分:4)
您检查单个字符为数字的方式不是Integer.parseInt
(一个返回,int
,而不是boolean
。您改为使用Character.isDigit
:
else if (strPos.length() > 4 && Character.isDigit(strPos.charAt(4)))
请注意,它检查索引4处的字符,这是第五个字符(初始字符位于索引零处,而不是一个)。