Cocoa touch 如何解决与字符串相关的问题

Cocoa touch 如何解决与字符串相关的问题,cocoa-touch,Cocoa Touch,我正在iphone上制作一个二进制到十进制的数字转换器。当我试图从一个数字中提取每一个数字并进行计算时,遇到了一些问题。我尝试了char,characterAtIndex,但它们都没有进行计算,或者我的语法完全错了。有谁能告诉我如何进行这种转换,或者有更简单的方法吗?您的问题是从字符串中获取数字 从字符中获取整数的最简单方法是使用ascii表,如下所示: NSString *stringOfNums = @"15"; char c; int num; for (int i = 0; i <

我正在iphone上制作一个二进制到十进制的数字转换器。当我试图从一个数字中提取每一个数字并进行计算时,遇到了一些问题。我尝试了char,characterAtIndex,但它们都没有进行计算,或者我的语法完全错了。有谁能告诉我如何进行这种转换,或者有更简单的方法吗?

您的问题是从字符串中获取数字

从字符中获取整数的最简单方法是使用ascii表,如下所示:

NSString *stringOfNums = @"15";
char c;
int num;
for (int i = 0; i < [stringOfNums length]; ++i) {
    c = [stringOfNums characterAtIndex:i];
    num = c - 48; // 0 is 48 in ascii table
    printf("\nchar is %c and num is %d", c, num);
}
此方法的优点是,您可以逐个字符验证每个字符是否在48到57的ascii数字范围内

或者,您可以使用NSNumberFormatter一步完成转换,如下所述:

至于二进制-十进制转换,你的公式在纸上有效吗?先把它弄对