我如何将NSString转换为长值?

时间:2011-03-18 06:56:37

标签: objective-c nsstring long-integer

我有一个值100023,我已将其带入NSString

现在我想在包含长参数类型的Web服务中传递此值,以便如何将字符串值转换为long。

6 个答案:

答案 0 :(得分:56)

您可以使用NSString方法intValue longLongValue

答案 1 :(得分:23)

对于像“100023”这样的小数字,“longlongvalue”可以接受。然而,如果数字的数字大于> 10,其中通常将其视为长值的用例。然后,您将遇到此问题,例如:

String value "86200054340607012013"

@"86200054340607012013" integerValue or intValue 

您将在print语句中生成此内容

2147483647 

如果你这样做

@"86200054340607012013" longlongvalue

您将在print语句中生成此内容

9223372036854775807

这适用于我并打印出预期的数字。

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

答案 2 :(得分:13)

使用此:

    yourLong = [yourString longLongValue];

答案 3 :(得分:2)

您可以使用 doubleValue 方法来避免丢失精确警告

答案 4 :(得分:0)

答案是:

float floatId = [strID floatValue];

答案 5 :(得分:-12)

这样做......

long value = [myString longValue]