我有一个NumberFormatter
设置,如下所示:
let currencyFormatter = NumberFormatter()
currencyFormatter.usesGroupingSeparator = true
currencyFormatter.groupingSeparator = "."
currencyFormatter.numberStyle = .currency
currencyFormatter.locale = Locale(identifier: "it_IT")
currencyFormatter.currencySymbol = ""
我需要检索一个基于字符串值的值作为输入。
currencyFormatter.number(from: "1.000,00") // nil
currencyFormatter.number(from: "1.000,00u{00a0}") // 1000
在第一个样本中,格式化程序返回nil
,而在第二个样本中我获得了正确的值(u{00a0}
是非中断空间符号(。
有没有一种方法可以让第一个样本在不添加空格符号的情况下工作?
如果没有货币符号,则此数字格式化程序的样式需要为.decimal
,而不是.currency
。这就足够了:
let currencyFormatter = NumberFormatter()
currencyFormatter.numberStyle = .decimal
currencyFormatter.locale = Locale(identifier: "it_IT")