Ответ 1
Вы можете использовать методы NSString
intValue
longLongValue
.
У меня есть одно значение 100023
, и я взял его в NSString
.
Теперь я хочу передать это значение в своей веб-службе, которая содержит длинный тип параметра, поэтому как можно преобразовать значение строки в long.
Вы можете использовать методы NSString
intValue
longLongValue
.
Для небольшого числа, такого как "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]);
Используйте это:
yourLong = [yourString longLongValue];
вы можете использовать метод doubleValue, чтобы избежать потери предупреждений о точности
Ответ:
float floatId = [strID floatValue];
Сделайте это...
long value = [myString longValue]