Подтвердить что ты не робот

Как я могу преобразовать NSString в длительную ценность?

У меня есть одно значение 100023, и я взял его в NSString.

Теперь я хочу передать это значение в своей веб-службе, которая содержит длинный тип параметра, поэтому как можно преобразовать значение строки в long.

4b9b3361

Ответ 1

Вы можете использовать методы NSString intValue longLongValue.

Ответ 2

Для небольшого числа, такого как "100023", это приемлемо с "longlongvalue". Однако, если числовые цифры имеют более чем > 10, в которых обычно рассматриваются как прецедент для долгого значения. Затем вы столкнетесь с этой проблемой, например:

String value "86200054340607012013"

do

@"86200054340607012013" integerValue or intValue 

вы произведете это в заявлении печати

2147483647 

если вы делаете

@"86200054340607012013" longlongvalue

вы произведете это в заявлении печати

9223372036854775807

Это работает для меня и распечатывает ожидаемое число.

NSNumberFormatter * f = [[NSNumberFormatter alloc] init];
[f setNumberStyle:NSNumberFormatterDecimalStyle];
NSNumber * myNumber = [f numberFromString:@"2394739287439284734723"];
NSLog(@"longlong: %llu", [myNumber longLongValue]);   

Ответ 3

Используйте это:

    yourLong = [yourString longLongValue];

Ответ 4

вы можете использовать метод doubleValue, чтобы избежать потери предупреждений о точности

Ответ 5

Ответ:

float floatId = [strID floatValue];

Ответ 6

Сделайте это...

long value = [myString longValue]