输入的符合数字格式的字符串,转换成NSNumber 类型的对象。
C代码
- id result;
- NSString * ss;
- [email protected]"124";
- result=[NSNumber numberWithFloat:[ss floatValue]];
- NSLog(@"%f",[ss floatValue]);
- NSLog(@"%f",[result floatValue]);
直接将NSString 类的floatValue 方法将ss 对象转成float 类型,再使用NSNumber 的numberWithFloat 方法转成NSNumber 类型的对象。
但这里有一个问题, 如果ss 不是@”111.22 ” ,而是@ “xxx ”,则该方法将报错的。
因此,这里需要一个事先判断,判断ss 是不是能转成成NSNumber 。
根据这个修改要求,我再将代码转换成这样:
C代码
- [email protected]"224.34129";
- NSNumberFormatter *f = [[NSNumberFormatter alloc] init];
- if ([f numberFromString:ss])
- {
- result=[NSNumber numberWithFloat:[ss floatValue]];
- }
- else
- {
- result=ss;
- }
- NSLog(@"%.2f",[result floatValue]);