我们使用NumberFormatter
类来格式化应用程序中的一些金额。由于我们在 iOS 13 上迁移,用于 Locale的groupingSeparator
空间似乎发生了fr_FR
变化。
我们对格式化字符串数量进行了测试,例如:
var amount = "1000"
XCTAssertEqual(amount.formattedValue, "1 000,00")
在iOS < 13上,此测试成功。但是如果我们在iOS > 13上启动测试,这个测试就会失败。
原因是因为NumberFormatter
iOS 13 中 groupingSeparator 属性使用的空间类型发生了变化,所以
根据使用的空间分组分隔符1 000,00
将不相等。1 000,00
任何想法始终根据当前的 iOS 版本使用正确的空间分组分隔符?
编辑:我们发现 iOS 13 上的已用空间现在是NARROW NO-BREAK SPACE
编辑 2:currencyGroupingSeparator
NNBSP 也发生了变化,所有货币分组分隔符都被这个新的分隔符替换了。