我正在开发一个必须以以下格式显示货币的应用程序
$ 222,345.00 (Symbole depends on location/country. May be $,R etc)
我正在尝试使用以下代码进行设置
let formatter = NumberFormatter()
formatter.locale = Locale.current
formatter.numberStyle = .currency
if let formattedTipAmount = formatter.string(from: NSNumber(value:amountDouble)) {
self.amountLabel.text= "\(formattedTipAmount)"
}
在上面的代码中添加了正确的货币符号,但对于上面代码中的某些国家/地区,在代码上方添加了“,”作为小数点,并且如果数量巨大,也没有“,”分隔符。
请提出我在做什么错
答案 0 :(得分:1)
好的,因此在某些位置(认为几乎整个欧洲)的','行为是正确的。为确保大数字也有分隔符(在欧洲,这将是。),您必须添加usesGroupSeperator
的{{1}}属性。因此,要使用您的代码,您需要将其更改为以下内容:
NumberFormatter
但是,如果要更改分组分隔符和十进制分隔符,可以通过在代码中添加以下2个属性来实现。其中let formatter = NumberFormatter()
formatter.locale = Locale.current
formatter.numberStyle = .currency
formatter.usesGroupingSeparator = true
if let formattedTipAmount = formatter.string(from: NSNumber(value:amountDouble)) {
self.amountLabel.text= "\(formattedTipAmount)"
}
用于更改大数的分隔符,而GroupingSeparator
用于有关小数的分隔符。
DecimalSeparator