将数字格式化为带有千位分隔符的字符串,并且在swift中小数点后总是有2位数

Keo*_*ros 1 string numbers string-formatting swift

如何格式化5432.15,432.10.

我们可以使用字符串格式来强制它总是显示2 digtis.

let n = 5432.1
let s = String(format: "%.2f", n)   //5432.10
Run Code Online (Sandbox Code Playgroud)

我们可以使用数字格式化器来添加千位分隔符.

let formatter = NSNumberFormatter()
formatter.numberStyle = .DecimalStyle
let s2 = formatter.stringFromNumber(n)  //5,432.1
Run Code Online (Sandbox Code Playgroud)

但我们如何将两者结合起来呢?有没有办法直接转换?或者我是否必须操纵这两个字符串结果才能获得最终结果?

Ale*_*ica 5

NSNumberFormatter.minimumFractionDigits.

let formatter = NSNumberFormatter()
formatter.numberStyle = .DecimalStyle
formatter.minimumFractionDigits = 2
let s2 = formatter.stringFromNumber(n)  //5,432.10
Run Code Online (Sandbox Code Playgroud)