我尝试将字符串转换:的NSString NSNumber的转换
3033547640189791162
用这种方法:
NSNumber * myNumber = [NSNumber numberWithDouble:[tmpId doubleValue]];
这:
NSNumberFormatter * f = [[NSNumberFormatter alloc] init];
[f setNumberStyle:NSNumberFormatterNoStyle];
NSNumber * myNumber = [f numberFromString:tmpId];
[f release];
和他们俩给我这个号:
<CFNumber 0x13a2b0 [0x3f54c9f8]>{value = +3033547640189791232.00000000000000000000, type = kCFNumberFloat64Type}
insted的的:
<CFNumber 0x1b5550 [0x3f54c9f8]>{value = +3033547640189791232, type = kCFNumberSInt64Type}
编辑
当我尝试使用:
NSString *tmpId = @""3033547640189791162";
long i = [tmpId longLongValue];
i等于= -1631802438
int i = [tmpId intValue];
i等于= 2147483647
,所以我失去了原有的数值
尝试'[NSNumber numberWithLongLong:[tmpId longLongValue]];' – Nekto 2012-03-11 10:15:15
为什么不使用[NSNumber numberWithInt:]和[NSString intValue:]?据我所知,你期望一个没有分数的整数值...或者你想控制点后的数字位数? – giorashc 2012-03-11 10:16:58
我编辑我的帖子后,我尝试了你写的 – MTA 2012-03-11 10:36:25