Here is some sample code that behaves differently under iOS 12 and earlier vs 13.1/13.2b. Previously, we would get "EUR100.00" but now we get "EUR 100.00" where the space is a non-breaking space.
Why was this changed? How can we get consistent behavior from NumberFormatter?
let numberFormatter = NumberFormatter()
let currencyID = "EUR"
let locale = Locale(identifier: "en_US")
numberFormatter.formatterBehavior = .behavior10_4
numberFormatter.generatesDecimalNumbers = true
numberFormatter.minimumFractionDigits = 2
numberFormatter.maximumFractionDigits = 2
numberFormatter.currencyCode = currencyID
numberFormatter.locale = locale
numberFormatter.numberStyle = .currency
let symbol = "EUR"
numberFormatter.currencySymbol = symbol
numberFormatter.internationalCurrencySymbol = symbol
let number = NSDecimalNumber(integerLiteral: 100)
let result = numberFormatter.string(from: number)
print("\(String(describing: result))")