我想改变我的NSNumberformatter从显示带有括号的负数到将减号放在前面(或者无论本地标准是什么).
我想我可以用setNegativeFormat做到这一点:
但阅读Apple的哦,如此彻底的文档,我只是在摸不着头脑:
setNegativeFormat:
设置接收器用于显示负值的格式.
- (void)setNegativeFormat:(NSString *)aFormat
参数 aFormat一个字符串,指定负值的格式.
可用性适用 于iPhone OS 2.0及更高版本.
另请参阅 - negativeFormat
在 NSNumberFormatter.h中声明
我对aFormat有什么选择?!?来自Doc Docrs,这里的链接会杀了你吗?
编辑:这里有什么值得宣言:
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).
编辑:
如果要根据货币设置格式字符串,可以使用该¤
字符,例如:
[formatter setFormat:@"¤#,##0.00"];
这将为当前本地化添加货币符号代替¤
角色.
因此,将相同的概念应用于否定格式字符串:
[formatter setFormat:@"-¤#,##0.00"];
这也将应用货币符号代替¤
当前本地化.