Error: Compile Error: Expression must be a list type: String at line 446 column 44
Error: Compile Error: Expression must be a list type: String at line 446 column 44
我正在尝试验证 salesforce 中的保险号码,但我遇到以下错误
保险=insurance.replace('A','01');
Integer sum = 0;
Integer numDigits = insurance.length() - 1;
Integer cle = parseInt(insurance[numDigits],10); =====>Error
for (Integer i = 0; i < numDigits; i++) {
Integer digit = parseInt(insurance[i], 10); =====> Error
if (math.mod(i,2) != 0) {
digit *= 2;
}
sum += digit > 9 ? digit - 9 : digit;
}
if (math.mod(sum ,10) != cle) {
return false;
} else {
return true;
}
}
使用 String
的 substring
方法获取索引处的字符。
此外,Apex 中没有 parseInt
。请改用 Integer.valueOf
。
所以,您的代码的第一部分应该是
Integer numDigits = insurance.length() - 1;
Integer cle = Integer.valueOf(insurance.substring(numDigits));
参考文献:
我正在尝试验证 salesforce 中的保险号码,但我遇到以下错误
保险=insurance.replace('A','01');
Integer sum = 0;
Integer numDigits = insurance.length() - 1;
Integer cle = parseInt(insurance[numDigits],10); =====>Error
for (Integer i = 0; i < numDigits; i++) {
Integer digit = parseInt(insurance[i], 10); =====> Error
if (math.mod(i,2) != 0) {
digit *= 2;
}
sum += digit > 9 ? digit - 9 : digit;
}
if (math.mod(sum ,10) != cle) {
return false;
} else {
return true;
}
}
使用 String
的 substring
方法获取索引处的字符。
此外,Apex 中没有 parseInt
。请改用 Integer.valueOf
。
所以,您的代码的第一部分应该是
Integer numDigits = insurance.length() - 1;
Integer cle = Integer.valueOf(insurance.substring(numDigits));
参考文献: