1

我需要格式化一个数字和货币符号,我正在使用以下代码。我面临的问题是数字被四舍五入到 34.80,这仅发生在某些货币上,如果我在下面的代码中将货币代码更改为“INR”,而不是结果显示没有四舍五入的金额。

NSDecimalNumber *num = (NSDecimalNumber*)[NSDecimalNumber numberWithDouble:34.78f];
NSString *curr = @"CHF";

NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
formatter.currencyCode = curr;
formatter.numberStyle = NSNumberFormatterCurrencyStyle;

NSString *result = [formatter stringFromNumber:num];
4

1 回答 1

2

你遇到了瑞典四舍五入!瑞士法郎的发行面额仅为 0.05 法郎。按照惯例,显示的价格在显示时四舍五入到最接近的 0.05 的边界倍数。我链接到的维基百科页面包含使用这种四舍五入的其他货币的示例,其倍数包括 0.05、0.1、0.25 和 0.5。

于 2013-08-08T14:42:23.107 回答