根据数字值自动显示一定数量的小数点

时间:2016-02-04 19:12:02

标签: objective-c nsstring

我正在处理生成报告,其值有时是整数,有时是1位小数,有时是2位小数。我想找到一种方法来显示这些数字尽可能少的小数点。所以1总是1而不是1.0或1.00而2.5743将是2.57。有没有办法在iOS SDK中自动执行这个有用的斜杠?

1 个答案:

答案 0 :(得分:0)

NSNumberFormatter maximumFractionDigits设置为2。

@import Foundation;

int main(int argc, const char * argv[])
{
    @autoreleasepool {
        NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
        formatter.maximumFractionDigits = 2;
        NSLog(@"%@", [formatter stringFromNumber:@(1)]);
        NSLog(@"%@", [formatter stringFromNumber:@(1.0)]);
        NSLog(@"%@", [formatter stringFromNumber:@(2.5743)]);
        NSLog(@"%@", [formatter stringFromNumber:@(2.5)]);
        NSLog(@"%@", [formatter stringFromNumber:@(2.7)]);
        NSLog(@"%@", [formatter stringFromNumber:@(2.699)]);
        NSLog(@"%@", [formatter stringFromNumber:@(2.71001)]);
    }
    return 0;
}

输出:

2016-02-04 13:46:36.002 commandLine[27474:1266926] 1
2016-02-04 13:46:36.002 commandLine[27474:1266926] 1
2016-02-04 13:46:36.003 commandLine[27474:1266926] 2.57
2016-02-04 13:46:36.003 commandLine[27474:1266926] 2.5
2016-02-04 13:46:36.003 commandLine[27474:1266926] 2.7
2016-02-04 13:46:36.003 commandLine[27474:1266926] 2.7
2016-02-04 13:46:36.003 commandLine[27474:1266926] 2.71
相关问题