iOS 14 上的 NSNumberFormatter 错误
Posted
技术标签:
【中文标题】iOS 14 上的 NSNumberFormatter 错误【英文标题】:NSNumberFormatter bug on iOS 14 【发布时间】:2020-09-21 09:05:59 【问题描述】:当您的地区设置为柬埔寨时,ios14 上的NSNumberFormatter
似乎存在错误,其中金额被格式化为“1.234,56”,这不是那里使用的格式。
在 iOS13 上没问题。我看不到有关此更改的任何参考。
有什么解决方法吗?
更新: iOS 14.2 仍然存在问题
【问题讨论】:
货币在金额之前/之后也发生了变化。奇怪的。我不住在那里,所以我不知道是否发生了变化,或者是修复还是新错误,但如果是错误,我不会打开雷达。 FWIW 在模拟器中的屏幕类似于你的 iOS 14 的 iPad 和在 macos 上它类似于你的 13。 【参考方案1】:我认为您可以修改 NumberFormatter 的参数以满足您的需要。像这样的
let formatter = NumberFormatter()
//formatter.locale = Locale.init(identifier: Locale.current.identifier)
formatter.numberStyle = .currency
formatter.currencyGroupingSeparator = ","
formatter.currencyDecimalSeparator = "."
//by default its 3
formatter.maximumFractionDigits = 2
print(formatter.string(from: 1000000.00))
//Outputs Optional("TND 1,000,000.00")
【讨论】:
以上是关于iOS 14 上的 NSNumberFormatter 错误的主要内容,如果未能解决你的问题,请参考以下文章
在 iOS 14 上的一半屏幕上呈现 UIViewController
一个额外的 UITableViewCellContentView 覆盖出现在 iOS 14 上的 TableView 中,防止点击,但在 iOS 13 上工作正常