我正在使用从0.00到9999.99的数字范围.我需要添加"˙"千位分隔符,所以1300,00
应该成为1?300,00
.NSNumberFormatter使用","作为分隔符,因此对我不利.
我试过用
func formatNumber (i: Float) -> String { var counter = 0 var correctedNumber = "" if i > 999 { for char in "\(i)".characters { if counter == 1 { correctedNumber += "?" + "\(char)" } else { correctedNumber += "\(char)" } counter++ } } else { correctedNumber = "\(i)" } return correctedNumber }
但它不能格式化十进制数字.
这样做的正确方法是什么?
你只需要正确配置NSNumberFormatter
.
let formatter = NSNumberFormatter() formatter.groupingSeparator = "?" formatter.decimalSeparator = "," formatter.usesGroupingSeparator = true formatter.minimumFractionDigits = 2
测试
formatter.stringFromNumber(1300) // "1?300,00"