斯威夫特货币Fomat

时间:2018-07-02 14:48:58

标签: ios swift

我正在开发一个必须以以下格式显示货币的应用程序

$ 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)"
    }

在上面的代码中添加了正确的货币符号,但对于上面代码中的某些国家/地区,在代码上方添加了“,”作为小数点,并且如果数量巨大,也没有“,”分隔符。

请提出我在做什么错

1 个答案:

答案 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