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

时间:2016-06-15 14:26:22

标签: string swift numbers string-formatting

如何将5432.1格式化为5,432.10

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

let n = 5432.1
let s = String(format: "%.2f", n)   //5432.10

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

let formatter = NSNumberFormatter()
formatter.numberStyle = .DecimalStyle
let s2 = formatter.stringFromNumber(n)  //5,432.1

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

1 个答案:

答案 0 :(得分:5)

请参阅NSNumberFormatter.minimumFractionDigits

let formatter = NSNumberFormatter()
formatter.numberStyle = .DecimalStyle
formatter.minimumFractionDigits = 2
let s2 = formatter.stringFromNumber(n)  //5,432.10