博客
关于我
Objective-C实现atoi函数功能(附完整源码)
阅读量:794 次
发布时间:2023-02-17

本文共 848 字,大约阅读时间需要 2 分钟。

在Objective-C中实现类似于C语言中的atoi函数的功能,可以通过解析字符串并将其转换为整数来完成。以下是一个完整的实现示例,涵盖了处理空格、正负号和数字字符的逻辑。

Objective-C实现Atoi函数

#import 
int myAtoi(NSString *str) { NSString *trimmedStr = [str trimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; if ([trimmedStr length] == 0) { return 0; } NSInteger result = 0; NSInteger length = [trimmedStr length]; for (NSInteger i = 0; i < length; i++) { unichar ch = [trimmedStr characterAtIndex:i]; if (ch >= '0' && ch <= '9') { result = result * 10 + (ch - '0'); } else { break; } } return result;}

代码解释

  • 去除空格和换行:使用trimmingCharactersInSet方法去除字符串前后空格和换行符,得到一个精简的字符串。

  • 处理空字符串:如果去除后的字符串为空,直接返回0。

  • 遍历字符:逐个检查字符串中的每个字符。如果字符是数字,则将其转换为整数并累加到结果中。如果遇到非数字字符,提前终止循环。

  • 返回结果:最终返回转换后的整数结果。

  • 这个实现简单高效,能够正确处理正数、负数以及带有空格的字符串。

    转载地址:http://tbnfk.baihongyu.com/

    你可能感兴趣的文章
    nuget.org 无法加载源 https://api.nuget.org/v3/index.json 的服务索引
    查看>>
    Nuget~管理自己的包包
    查看>>
    NuGet学习笔记001---了解使用NuGet给net快速获取引用
    查看>>
    nullnullHuge Pages
    查看>>
    NullPointerException Cannot invoke setSkipOutputConversion(boolean) because functionToInvoke is null
    查看>>
    null可以转换成任意非基本类型(int/short/long/float/boolean/byte/double/char以外)
    查看>>
    Numix Core 开源项目教程
    查看>>
    NumPy 或 Pandas:将数组类型保持为整数,同时具有 NaN 值
    查看>>
    numpy 或 scipy 有哪些可能的计算可以返回 NaN?
    查看>>
    numpy 数组 dtype 在 Windows 10 64 位机器中默认为 int32
    查看>>
    numpy 数组与矩阵的乘法理解
    查看>>
    NumPy 数组拼接方法-ChatGPT4o作答
    查看>>
    numpy 用法
    查看>>
    Numpy 科学计算库详解
    查看>>
    Numpy.fft.fft和numpy.fft.fftfreq有什么不同
    查看>>
    Numpy.ndarray对象不可调用
    查看>>
    numpy判断对应位置是否相等,all、any的使用
    查看>>
    Numpy如何使用np.umprod重写range函数中i的python
    查看>>
    numpy数组替换其中的值(如1替换为255)
    查看>>
    numpy数组索引-ChatGPT4o作答
    查看>>