在浮点数组上使用快速枚举时保持尾随0

时间:2018-03-22 20:54:23

标签: objective-c arrays

我有一个包含花车的NSMutableArray。我首先将float包装在NSNumber中,以便可以将其添加到数组中:

NSMutableArray *array = [[NSMutableArray alloc] init];
NSNumber *num = [NSNumber numberWithFloat:5.10f];
[array addObject:num];

我使用快速枚举向用户显示它们(我将在这里使用NSLog):

for (NSString *aString in array) {
        NSLog(@"Value: %@", aString);
    }

但是,此代码会打印Value: 5.1,但我希望以显示Value: 5.10的货币格式打印。它的存储方式和显示方式并不重要。我需要它存储为float而不是字符串,所以我可以用数组中的浮点数进行计算。

1 个答案:

答案 0 :(得分:0)

查看NSNumberFormatter的文档:

https://developer.apple.com/documentation/foundation/nsnumberformatter?language=objc

设置为按照您希望的方式格式化数字后,您可以使用其stringFromNumber:方法生成格式正确的字符串。如果您的显示是在UI而不是代码中通过NSLog进行的,那么您实际上可以完全在Interface Builder中设置格式化程序。

或者,您可以使用格式字符串:

NSLog(@"%.2f", num.floatValue);