错误:编译错误:表达式必须为列表类型:第446行第44列的字符串

时间:2020-06-04 07:05:58

标签: salesforce salesforce-lightning salesforce-communities

我正在尝试验证salesforce中的保险号码,但是我遇到错误

insurance = 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;
                }
            }

1 个答案:

答案 0 :(得分:0)

使用substring的{​​{1}}方法获取索引处的字符。

此外,Apex中没有String。请改用parseInt

因此,代码的第一部分应该是

Integer.valueOf

参考: