4.将字符串转成数字,比如”1234”转成1234;”123zx45”转成123,尽量满足各种情况。 int Myatoi(const char *str);
时间: 2024-09-24 07:24:55 浏览: 39
js字符串转换成数字与数字转换成字符串的实现方法
5星 · 资源好评率100%
在C语言中,`int Myatoi(const char *str)`函数可以尝试将字符串转换为整数。这个过程通常涉及遍历字符串,逐字符判断是否为数字字符(0-9),然后累加它们对应的整数值。如果遇到非数字字符或者字符串开始就不是数字,转换会停止,并返回已处理部分的整数值。
以下是`Myatoi`的一个简化实现示例:
```c
int Myatoi(const char* str) {
int num = 0;
bool negative = false;
if (str[0] == '-') { // 如果字符串以负号开头
negative = true;
str++; // 移动指针到下一个字符
}
while (*str >= '0' && *str <= '9') { // 只有当字符是数字时才转换
num = num * 10 + (*str - '0'); // 将当前字符值添加到结果
str++;
}
return negative ? -num : num; // 返回结果并考虑正负号
}
```
但是请注意,这个简单的实现有一些限制,例如它假设输入字符串只包含ASCII数字字符,而且不检查边界条件(如空串、非数字字符过长等)。在实际应用中,可能需要更复杂的方法,例如使用标准库函数`atoi()`,或者使用`std::stoi`(C++)来获得更健壮的解析功能。
阅读全文