当在iOS 8上的maximumFractionDigits
上同时使用maximumSignificantDigits
和NSNumberForamtter
时,这是一个错误吗?
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
formatter.maximumFractionDigits = 2;
formatter.maximumSignificantDigits = 3;
NSLog(@"%@", [formatter stringFromNumber:@(0.3333)]); // output 0.333 expected 0.33
如果我只使用
maximumFractionDigits
,效果很好NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
formatter.maximumFractionDigits = 2;
NSLog(@"%@", [formatter stringFromNumber:@(0.3333)]); // output expected .33
最佳答案
这不是错误。从文档中:
https://developer.apple.com/documentation/foundation/nsnumberformatter/1417793-usessignificantdigits?language=objc
注意:如果将maximumSignificantDigits
或minimumSignificantDigits
设置为任何值,则usesSignificantDigits
会自动设置为true。这与maximumSignificantDigits
和minimumSignificantDigits
的文档矛盾:
您不需要将usesSignificantDigits
设置为true,它将自身设置为true。
关于ios - NSNumberFormatter maximumFractionDigits和maximumSignificantDigits错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27644341/