0

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

4

1 回答 1

4

在可可中,格式化数字值以进行显示的最佳方法是使用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
于 2012-08-06T05:45:46.073 回答