如何可以转换NSString包含多个任何原始数据类型(例如int,float,char,unsigned int,等等)?问题是,我不知道字符串在运行时将包含哪种数字类型.
我知道如何做到这一点,但我不确定这是否适用于任何类型,也是无符号和浮点值:
long long scannedNumber;
NSScanner *scanner = [NSScanner scannerWithString:aString];
[scanner scanLongLong:&scannedNumber];
NSNumber *number = [NSNumber numberWithLongLong: scannedNumber];
Run Code Online (Sandbox Code Playgroud)
谢谢您的帮助.
以下代码将标识字符串是否为整数 - 即字符串仅包含数字.但是,我讨厌这段代码.什么是更好的方法?
NSString *mightBeAnInteger = fooString;
int intValue = [fooString intValue];
if (intValue > 0
&& [[NSString stringWithFormat:@"%d",intValue] isEqualToString:mightBeAnInteger]) {
NSLog(@"mightBeAnInteger is an integer");
}
Run Code Online (Sandbox Code Playgroud) 如何检查我的NSString*val是否有整数或浮点数?原始的方法是寻找"." character..but是否有更优雅的方式来做到这一点?
可能重复:
NSString是整数?
我正在寻找一个字符串是否只有数字.基本上:
if (string is integer):
#do whatever
else:
#error
Run Code Online (Sandbox Code Playgroud)
我该怎么做?谢谢!
当我想转换NSString为int
我使用时:
[string intValue];
Run Code Online (Sandbox Code Playgroud)
但是如何确定字符串是否int值?例如,以避免这样的情况:
[@"hhhuuukkk" intValue];
Run Code Online (Sandbox Code Playgroud) objective-c ×4
iphone ×3
nsstring ×3
ios ×2
cocoa-touch ×1
double ×1
integer ×1
ipad ×1
nsnumber ×1
sdk ×1