【发布时间】:2011-04-22 02:25:01
【问题描述】:
我需要从NSString 中获取long 值。
例如,我有这个:
NSString *test = @"5437128";
我需要:
long myLong = 5437128;
我怎样才能从NSString 获得这个long 值?
谢谢你,它会帮助我的!
【问题讨论】:
标签: objective-c ios nsstring long-integer
我需要从NSString 中获取long 值。
例如,我有这个:
NSString *test = @"5437128";
我需要:
long myLong = 5437128;
我怎样才能从NSString 获得这个long 值?
谢谢你,它会帮助我的!
【问题讨论】:
标签: objective-c ios nsstring long-integer
long longVariable = [test longLongValue];
参见NSString 文档..
【讨论】:
long不能用作标识符。
像下面的代码一样使用 NSScanner:
unsigned x;
[[NSScanner scannerWithString: s2] scanHexInt: &x];
当键入 scanHexInt 时,在 scan 处停止,看看自己需要哪一个 - 有很多可能性可以从字符串中获取值....
您可能希望使用 scanlonglong... 已将变量声明为 long
【讨论】:
使用此代码:
NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
long number = [[numberFormatter numberFromString:string] longValue];
[numberFormatter release];
【讨论】:
如果您不想丢失数字的分数值,我会使用以下内容
double x =[stringValue doubleValue];
而不是
double x = [stringValue longLongValue];
如果我们假设我们有以下字符串值 我们想把它转换成双倍,我们有两种方法
NSString * stringValue = @"31.211529225111";
way #1
double x = [stringValue longLongValue];
result will be : x = 31
way #2
double x =[stringValue doubleValue];
result will be : x = 31.211529225111001
【讨论】: