如何在UILabel中只显示有效小数?

时间:2012-08-06 05:40:15

标签: objective-c ios c ios5

我需要将标签设置为一个数字,可能有也可能没有小数。我不希望它是5.00,只是5(使用标准令牌时可能会发生)。虽然,如果有重要的小数,如.56,那么它应该显示5.56;如果它是.5,那么它应该显示5.56。除了使用一堆if语句之外,我怎么才能只显示所需的小数(即是否有快速修复或我是否需要手动执行此操作)?

1 个答案:

答案 0 :(得分:4)

在cocoa中,格式化值的最佳方式是使用NSNumberFormatter

NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
[formatter setMaximumSignificantDigits:2];

NSNumber *significant = [NSNumber numberWithFloat:10.56f];
NSNumber *nonSignificant = [NSNumber numberWithFloat:10.00f];

NSLog(@"sig: %@, non-sig: %@", [formatter stringFromNumber:significant], [formatter stringFromNumber:nonSignificant]);
//sig: 10.56, non-sig: 10