没有千位分隔符的格式化双号?

时间:2016-02-04 16:18:10

标签: ios swift

有没有人知道将double值格式化为没有千位分隔符的String的方法(在Swift-ios中)。

注意:我需要考虑当前的语言环境,因为一些欧洲语言使用逗号(,)作为小数分隔符。例如德语languange写12.50为12,50。

所以如果double值是1250.25

English-uk : 1250.25
German     : 1250,25

如果我使用以下两种方式(英国英国)我得到的值为(1,212.50)。但我想将值格式化为String而不使用thousant分隔符。所以在这种情况下1212.50

var testOne = String.localizedStringWithFormat("%.2f", 1212.50)

var testTwo = String(format: "%.2f", locale: NSLocale.currentLocale(), 1212.50)

1 个答案:

答案 0 :(得分:6)

您需要在数字上使用NSNumberFormatter并将分组分隔符显式设置为空字符串:

let formatter = NSNumberFormatter()
formatter.locale = NSLocale(localeIdentifier: "en_US")  // locale determines the decimal point (. or ,); English locale has "."
formatter.groupingSeparator = ""  // you will never get thousands separator as output
formatter.minimumFractionDigits = 2
formatter.maximumFractionDigits = 2
formatter.numberStyle = .DecimalStyle
let result = formatter.stringFromNumber(1233.99)  // you will always get string 1233.99