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

标签 objective-c ios c ios5

我需要将标签设置为一个数字,该数字可能有也可能没有小数。我不希望它是 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/

相关文章:

iphone - 保存从互联网下载的数据

objective-c - SBJSON 编码包含另一个对象数组的对象

ios - 测试应用内购买问题。应用内购 iOS

ios - 如何根据内容水平扩展 UITextField?

python - 从 python 调用时,DLL 中的 KeyboardHookProc 不执行任何操作

ios - 如何在 Interface Builder 中使用自定义 UIButton 类别?

ios - 我们如何获取在iPhone屏幕上绘制的字母坐标

ios - objective-c 中的正则表达式正负十进制值

c - 对数组 C 中的元素进行排序

c - C代码中 `#define`的位置重要吗?