ios - 如何将 iOS 价格格式从 -0.00 舍入到 0.00?

标签 ios in-app-purchase nsnumberformatter

我的应用有话费。当它用完时,最终值有时会略低于 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/

相关文章:

ios - XMPP 应用终止且未收到消息

ios - ZBar SDK 与 IOS 集成

iphone - 错误域=SKErrorDomain 代码=3 用户信息=0x2a5a00 "Cannot connect to iTunes Store"

ios - 如何使用 Swift 在文本字段(从右到左)上输入货币格式?

ios - 从 String 转换为 Double 导致 Swift 崩溃

ios - 以编程方式将指示器 View 置于警报 Controller 中

ios - Facebook iOS SDK : authorize with permissions requires 2 attempts

react-native - 如何使用 react native 计费

ios如何获取已购买产品的列表?

ios - 格式化轴标签核心图的长数字