Я использую простой вид для отображения текста в NumberFormatter
для указанного c языкового стандарта
struct CurrencyView: View {
let currency:Currency
var body: some View {
Text(currency.getFormattedCurrency())
}
}
struct CurrencyView_Previews: PreviewProvider {
static var previews: some View {
CurrencyView(currency: Currency(currencyValue: 1.0)).previewLayout(.fixed(width: 300.0, height: 55.0)).environment(\.locale, .init(identifier: "fr_Fr"))
}
}
struct Currency{
let currencyValue:Double
func getFormattedCurrency() -> String{
let formatter = NumberFormatter()
formatter.numberStyle = .currency
let formatterCurrency = formatter.string(for: self.currencyValue) ?? ""
return formatterCurrency
}
}
Я ожидал, что в предварительном просмотре будет отображаться валюта в French
с €, как я уже упоминается в локали в превью.