NSFormatter 有很多专门的子类:
CNContactFormatter
CNPostalAddressFormatter
DRMSFFormatter
MKDistanceFormatter
NSByteCountFormatter
NSDateComponentsFormatter
NSDateFormatter
NSDateIntervalFormatter
NSEnergyFormatter
NSLengthFormatter
NSMassFormatter
NSNumberFormatter
NSPersonNameComponentsFormatter
我们大多数人都使用过NSNumberFormatter
和NSDateFormatter
。它们有一个 locale 属性,可让您指定在从字符串转换为/从格式化程序支持的“本机”格式转换时使用的语言环境。其他一些人喜欢NSDateComponentsFormatter
从他们的属性之一继承他们的语言环境(NSDateComponentsFormatter
使用指定日历的语言环境,如果有的话。)
大多数其他人似乎没有任何方法来指定语言环境。我能想到的让它们以特定语言/区域设置生成输出的唯一方法是设置系统区域设置,获取输出/将字符串转换为数字格式,然后将其设置回来。
有没有办法为这样的格式化程序NSByteCountFormatter
设置区域设置似乎不提供任何类型的区域设置?
编辑:
自从我写了这个问题以来,上面很多格式化程序的名称都发生了变化。大多数(全部?)都失去了他们的“NS”前缀。