我在iphone上制作二进制到十进制数转换器。当我试图从一个数字中取出每个数字并进行计算时遇到一些问题。我尝试了char,characterAtIndex,但他们都没有做计算或我的语法完全错误。任何人都可以告诉我如何做这样的演员表或者有一种更简单的方法吗?
答案 0 :(得分:0)
你的问题是从字符串中获取数字吗?
从字符中获取整数的最简单方法是使用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);
}
这种方法的优点是你可以逐个char地验证每个都落在48到57的范围内,即ascii数字。
或者你可以使用NSNumberFormatter一步完成转换,如下所述:How to convert an NSString into an NSNumber
对于二进制十进制转换,您的公式是否在纸上工作?先把它弄好。