target-c преобразует строки в полезные числа - PullRequest
0 голосов
/ 11 апреля 2010

У меня есть строки, которые выглядят примерно так:

stringA = @"29.88";
stringB = @"2564";
stringC = @"12";
stringD = @"-2";

Каков наилучший способ их преобразования, чтобы их можно было использовать в одной математической формуле ?? в том числе сложение, вычитание. умножение, деление и т. д.

Ответы [ 4 ]

2 голосов
/ 11 апреля 2010

[stringA doubleValue]

2 голосов
/ 11 апреля 2010

Вероятно floatValue (как вам кажется, вам нужны значения с плавающей точкой), хотя integerValue также может быть полезным (оба являются методами экземпляра NSString).

1 голос
/ 13 апреля 2010

Это все неправильно, потому что они плохо обрабатывают ошибки.Вы действительно хотите NSNumberFormatter.

Если у вас есть строка @"abc" и вы пытаетесь использовать intValue или floatValue, вы получите 0.0, что, очевидно, неверно.Если вы проанализируете его с помощью NSNumberFormatter, вы получите nil, что очень легко отличить от NSNumber (это то, что было бы возвращено, если бы он мог проанализировать число).

0 голосов
/ 13 апреля 2010

Предполагая, что у вас есть переменные NSString.

NSString *stringA = @"29.88";
NSString *stringB = @"2564";
NSString *stringC = @"12";
NSString *stringD = @"-2";

предположим, что вы хотите преобразовать строковое значение в значение с плавающей запятой, используйте следующую инструкцию.

float x=[stringA floatValue];

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

NSInteger y = [stringC intValue];

Надеюсь, это поможет вам.

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