NSNumberFormatter最多显示3位数

ben*_*wad 6 iphone significant-digits nsnumberformatter

我想这样做,所以我的一个UILabel只显示最多3位数.所以,如果相关值是3.224789,我想看3.22.如果值是12.563,我想看12.5并且如果值是298.38912那么我想看298.我一直在尝试使用NSNumberFormatter来实现这一点,但是当我将最大有效数字设置为3时小数点后总是有3位数.这是代码:

NSNumberFormatter *distanceFormatter = [[[NSNumberFormatter alloc] init] autorelease];
[distanceFormatter setNumberStyle:NSNumberFormatterDecimalStyle];
[distanceFormatter setAlwaysShowsDecimalSeparator:NO];
[distanceFormatter setMaximumSignificantDigits:3];
Run Code Online (Sandbox Code Playgroud)

我一直以为'有效数字'表示小数点前后的所有数字.无论如何,有没有办法使用NSNumberFormatter完成这个?

谢谢!

DaG*_*aMs 10

我相信

NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
formatter.usesSignificantDigits = YES;
formatter.maximumSignificantDigits = 3;
Run Code Online (Sandbox Code Playgroud)

将完全按照您的要求进行操作,即它将始终显示正好3位数,无论是小数点前2位还是小数点后1位数或1位数之后是2位数.