我的应用有话费。当它用完时,最终值有时会略低于 0(例如 -0.003
)。我的代码:
NSString* formattedString;
NSNumberFormatter* numberFormatter;
numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setFormatterBehavior:NSNumberFormatterBehavior10_4];
[numberFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
[numberFormatter setLocale:((SKProduct*)self.products[0]).priceLocale];
formattedString = [numberFormatter stringFromNumber:@(price)];
然后产生:-0.00
。这在用户界面上看起来很奇怪。我怎样才能正确舍入,以便在低于零时显示 0.00
?
然后,我正在寻找足够通用的东西,可以处理具有不同小数位数的价格格式,并且不影响明显的负值(例如 -0.02
)。
最佳答案
您可能可以在数字格式化程序上配置一些东西,但如果没有,您可以这样做:
if (fpclassify(price) == FP_ZERO)
{
price = fabs(price);
}
formattedString = [numberFormatter stringFromNumber:@(price)];
关于ios - 如何将 iOS 价格格式从 -0.00 舍入到 0.00?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23101730/