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 に答える