NSNumberFormatter paddingPosition不起作用
我有这样一个格式化的货币值。 $99.99
。 我需要在货币符号和$ 99.99
之间有一个空格。 从这个答案我发现我需要使用填充。 然而,我正在尝试不工作。
private var currencyFormatter: NSNumberFormatter = { let formatter = NSNumberFormatter() formatter.numberStyle = .CurrencyStyle formatter.paddingPosition = .AfterPrefix return formatter }() var price: Float = 99.99 let s = currencyFormatter.stringFromNumber(price) print(s!) // I still get $99.99
也许我错过了什么?
为了使填充显示出来,您需要为格式化程序提供一个宽度:
let currencyFormatter: NSNumberFormatter = { let formatter = NSNumberFormatter() formatter.numberStyle = .CurrencyStyle formatter.paddingPosition = .AfterPrefix // pad with a space, use a minimum of seven characters formatter.paddingCharacter = " " formatter.formatWidth = 7 return formatter }() print(currencyFormatter.stringFromNumber(99.99)!) // prints "$ 99.99"
或者,如果您只需要一个空格,您可以尝试修改货币符号:
formatter.currencySymbol = "\(formatter.currencySymbol) "