如何正确显示货币iPhone / Objective-C

前端之家收集整理的这篇文章主要介绍了如何正确显示货币iPhone / Objective-C前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图从长值正确显示格式正确的货币.我正在使用NSNumberFormatter,但它似乎正在切断我的小数位数.

例如,如果我的长值为1203(美分),我希望它具有固定点格式(如12.03).这是我做的:

NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
formatter.numberStyle = NSNumberFormatterCurrencyStyle;
formatter.currencyCode = "USD";
formatter.multiplier = [NSNumber numberWithDouble:0.01];
long currencyAmount = 1203;
NSNumber *number = [NSNumber numberWithLongLong:currencyAmount];
[label setText:[formatter stringFromNumber:number]];

我得到这个输出12.00美元,但我想要12.03美元

解决方法

想想NSNumberFormatter中的整数截止错误是疯狂的猜测,但你是否尝试过默认乘数1并将转换后的货币金额除以自己的浮动100?

编辑:对于此变通方法,以下文章建议使用NSDecimalNumber来避免舍入问题. NSNumberFormatter to format currency not working for floats

猜你在找的cocoa相关文章