我需要将标签设置为一个数字,该数字可能有也可能没有小数。我不希望它是 5.00,只是 5(使用标准 token 时可能会发生)。虽然,如果有有效的小数点,比如 .56,那么它应该显示 5.56;如果它是 .5,那么它应该显示 5.56。除了仅使用一堆 if 语句之外,我如何才能只显示所需的小数(即是否有快速修复或我是否需要手动执行此操作)?
最佳答案
在 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
关于objective-c - 如何在 UILabel 中只显示有效小数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11823016/