我有一个值100023
,我已将其带入NSString
。
现在我想在包含长参数类型的Web服务中传递此值,以便如何将字符串值转换为long。
答案 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]