Как решить проблему, связанную со строками - PullRequest
0 голосов
/ 05 декабря 2010

Я делаю двоичный преобразователь в десятичное число на iphone.возникли некоторые проблемы, когда я пытаюсь взять каждую цифру из числа и сделать расчет.Я попытался использовать char, characterAtIndex, но все они не смогли выполнить вычисления, или я неправильно понял синтаксис.Может кто-нибудь показать мне, как сделать такое приведение, или есть более легкий подход?

1 Ответ

0 голосов
/ 05 декабря 2010

Ваша проблема с получением чисел из строк?

Самый простой способ получить целое число от символа - использовать таблицу 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, как описано здесь: Как преобразовать NSString в NSNumber

Что касается двоично-десятичного преобразования, ваша формула работает на бумаге? Получите это право первым.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...