我正在尝试使用将字符串转换为数字NSNumberFormatter
。在我的应用程序中,小数点后超过 2 位的输入字符串无效,即,@"3.1"
是@"3.14"
有效输入,但@"3.141"
不是。
的文档NSNumberFormatter
说setMaximumFractionDigits:
“[s]设置接收器输入的小数分隔符后的最大位数。”
所以,当这段代码:
NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
numberFormatter.maximumFractionDigits = 2;
NSNumber *number = [numberFormatter numberFromString:@"3.141"];
NSLog(@"%@", number);
接受@"3.141"
并给了我以下输出:
3.141
我期待转换@"3.141"
失败(并返回nil
),因为它的位数超过了小数点分隔符后允许的最大位数。
显然我在这里不了解一些基本的东西。NSNumberFormatter
不用maximumFractionDigits
作验证字符串输入的一部分?