我想将价格格式化为 45.50,但我不想要 45.00 这样的价格。我怎样才能避免这种情况?
最佳答案
我是这样做的:
NSNumber *amount = @(50.5);
NSNumberFormatter *currencyFormat = [[NSNumberFormatter alloc] init];
[currencyFormat setNumberStyle:NSNumberFormatterCurrencyStyle];
[currencyFormat setLocale:[NSLocale currentLocale]];
if (trunc(amount.floatValue) == amount.floatValue) {
[currencyFormat setMaximumFractionDigits:0];
} else {
[currencyFormat setMaximumFractionDigits:2];
}
NSLog(@"%@", [currencyFormat stringFromNumber:amount]);
我喜欢这个解决方案,因为它很简单。输出将为 $50.50
。对于 amount = @(50.0)
将是 $50
关于objective-c - NSNumberFormatter 货币删除尾随零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12262979/