我正在开发一个需要NSNumberFormatter
的简单应用。我试图用以下代码将数字舍入到2位小数:
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
formatter.locale = [NSLocale currentLocale];
formatter.formatterBehavior = NSNumberFormatterBehaviorDefault;
formatter.numberStyle = NSNumberFormatterDecimalStyle;
formatter.usesSignificantDigits = NO;
formatter.maximumFractionDigits = 2;
NSLog(@"%@",[formatter numberFromString:@"123.12345"]);
但是,日志输出显示为:
123.12345
我完全不知道为什么会这样。
答案 0 :(得分:2)
NSNumber *num = [formatter numberFromString:@"123.12345"];
NSLog(@"num: %@", num);
从字符串值创建NSNumber
。 NSNumber
没有任何格式,只有值。 NSNumber
可能是以@123.12345
。
现在使用NSString
:
NSNumber
NSString *strNum = [formatter stringFromNumber:@123.12345];
NSLog(@"strNum: %@", strNum);
NSLog输出:
num:123.12345
strNum:123.12