本文共 906 字,大约阅读时间需要 3 分钟。
要解决这个问题,我们需要将一个字符串转换成整数,并确保该字符串是合法的数值表达。如果字符串不是合法的数值,或者数值为0,则返回0。
int StrToInt(string str) { if (str.empty()) { return 0; } int flag = 1; if (str[0] == '-') { flag = -1; str[0] = '0'; } else if (str[0] == '+') { str[0] = '0'; } int sum = 0; for (int i = 0; i < str.size(); ++i) { if (str[i] < '0' || str[i] > '9') { return 0; } sum = sum * 10 + (str[i] - '0'); } return flag * sum;} 这个方法确保了我们能够正确且安全地将字符串转换为整数,同时处理了各种边界情况,如空字符串、非法字符和前导零等。
转载地址:http://npbb.baihongyu.com/