I've been trying to implement currency format based on passing my custom language identifier.
Below is my code
func currencyFormatter(language:String, amount:String) -> String {
let nsFormatter = NumberFormatter()
nsFormatter.numberStyle = .currency
nsFormatter.currencySymbol = ""
var formattedString: String?
var amountInNumber:NSNumber!
if let number = nsFormatter.number(from: amount)
{
amountInNumber = number.doubleValue as NSNumber
}
nsFormatter.locale = Locale(identifier: language)
formattedString = ((amountInNumber?.intValue) != nil) ? nsFormatter.string(from: amountInNumber) : amount
guard let finalString = formattedString else {
return ""
}
return finalString
}
I am trying to pass language as "fr-FR" and amount as "1234.45" then expecting output is "1 234,45".
This is working fine in simulator but not working in device (returning same value 1234.45)
Do i missed anything. Please help!
Thanks in advance