如何在Objective-C中格式化浮点值

时间:2018-01-12 01:53:05

标签: ios objective-c

var exec = function(index){
    if(index<7){
        exec(index+=1);
    }
}
exec(0);

使用:

- (NSString *)_stringToFloat:(NSNumber *)number {
    if (number && number > 0) {
        return [NSString stringWithFormat:@"%.2f",[number floatValue]];
    }
    return @"0.0";
}

如何为5.21的值返回“5.21”并为值5.00返回“5”?

1 个答案:

答案 0 :(得分:0)

使用NSNumberFormatter。设置所需的小数位数。

NSNumberFormatter *nf = [[NSNumberFormatter alloc] init];
nf.numberStyle = NSNumberFormatterDecimalStyle;
nf.minimumFractionDigits = 0;
nf.maximumFractionDigits = 2;
NSString *result = [nf stringFromNumber:@(5.12)];

这给出了&#34; 5.12&#34;而:

result = [nf stringFromNumber:@(5.00)];

给出&#34; 5&#34;

的结果

这还有一个额外的好处,就是根据用户的语言环境正确格式化结果。