猿问

如何将NSString转换为NSNumber

如何将NSString转换为NSNumber

如何转换NSString包含多个原始数据类型(例如:intfloatcharunsigned int等等)?问题是,我不知道字符串在运行时将包含哪个数字类型。

我知道如何做到这一点,但我不确定这是否适用于任何类型,也包括无符号和浮点值:

long long scannedNumber;NSScanner *scanner = [NSScanner scannerWithString:aString];
[scanner scanLongLong:&scannedNumber]; NSNumber *number = [NSNumber numberWithLongLong: scannedNumber];

谢谢你的帮助。


慕侠2389804
浏览 1759回答 3
3回答

摇曳的蔷薇

用NSNumberFormatter:NSNumberFormatter *f = [[NSNumberFormatter alloc] init];f.numberStyle = NSNumberFormatterDecimalStyle; NSNumber *myNumber = [f numberFromString:@"42"];如果字符串不是有效数字,则myNumber将是nil..如果它是一个有效的数字,那么现在您有了所有的NSNumber算出它到底是什么样的数字真是太好了。
随时随地看视频慕课网APP
我要回答