Here is a code I use for adding commas:
extension String
{
func addCommas() -> String
{
var result = String(self)
let numberFormatter = NumberFormatter()
numberFormatter.numberStyle = NumberFormatter.Style.decimal
let number = NSNumber(value:Float64(result)!)
result = numberFormatter.string(from: number)
return result!
}
}
Then I set e.g. "1000".addCommas() then it returns fine "1,000" but when I set the number "1.1234".addCommas() then it returns "1.123" Seems it rounds the number. How to resolve the issue above?
You can achieve this by using NumberFormater, something like this.
let value = 1000
let formater = NumberFormatter()
formater.numberStyle = .decimal
formater.groupingSeparator = ","
print(formater.string(from: NSNumber(integerLiteral: value)) ?? "Return nil value")
Apple docs are available here