我想将我的 NSNumberformatter 从显示带括号的负数更改为将减号放在前面(或任何本地化标准)。
我假设我可以使用 setNegativeFormat 来做到这一点:
但读了苹果如此详尽的文档,我还是摸不着头脑:
设置负数格式:
设置接收器用于显示负值的格式。
- (void)setNegativeFormat:(NSString *)aFormat
参数格式
指定负值格式的字符串。
可用性适用于 iPhone OS 2.0 及更高版本。
See Also– 负格式
申报于NSNumberFormatter.h
aFormat 有哪些选项?!?来吧,文档作家,这里的链接会杀死你吗?
编辑:对于它的价值,这里是声明:
NSNumberFormatter *currencyFormatter = [[NSNumberFormatter alloc] init];
[currencyFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
对我来说,保留本地化的货币符号和小数位(无论它们是什么)很重要。因此 [currencyFormatter setNegativeFormat:@"-#,##0.00"] 可能无法工作,因为缺少货币并且不能为所有货币假设 2 位小数。
如果您查看“格式字符串”部分Cocoa 数据格式化编程指南:
格式字符串使用以下格式模式Unicode 技术标准 #35(此参考版本为 tr35-6;Mac OS X v10.4 使用版本的格式化程序tr35-4).
Edit:
如果要设置基于货币的格式字符串,可以使用¤
字符,例如:
[formatter setFormat:@"¤#,##0.00"];
这将添加当前本地化的货币符号来代替¤
特点。
因此,将相同的概念应用于负格式字符串:
[formatter setFormat:@"-¤#,##0.00"];
这也将应用货币符号来代替¤
对于当前的本地化。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)