这里是一些浮点数值:
5.3
23.67
0.23
我希望它们
05.30
23.67
00.23
使用String(format: "%.2f", floatVar)
可以使小数点后保留2位,但无法在小数点前添加零。
我也尝试过String(format: "%04.2f", floatVar)
,如此处建议,但它只显示与%.2f
相同的内容。
是否有一种简洁的方法可以在Swift标准库中完成这个操作?
这里是一些浮点数值:
5.3
23.67
0.23
我希望它们
05.30
23.67
00.23
使用String(format: "%.2f", floatVar)
可以使小数点后保留2位,但无法在小数点前添加零。
我也尝试过String(format: "%04.2f", floatVar)
,如此处建议,但它只显示与%.2f
相同的内容。
是否有一种简洁的方法可以在Swift标准库中完成这个操作?
如果你想要一个简单粗暴的解决方案:
String(format: "%05.2f", floatChar)
从这个文档中了解,0
表示用前导零填充。5
是最小宽度,包括点字符。
NumberFormatter
:let formatter = NumberFormatter()
formatter.minimumFractionDigits = 2
formatter.maximumFractionDigits = 2
formatter.minimumIntegerDigits = 2
formatter.string(from: NSNumber(value: floatChar))!
或者我可以尝试更强大的NumberFormatter API。
let numberFormatter = NumberFormatter()
// more settings
numberFormatter.minimumIntegerDigits = 2
"%*.2f"
。我记得在C语言中可以这样用。 - Arc676*
表示在*
的位置上使用一个整数作为参数。它既不比%5.2f
更好也不更差,而且没有解释它的作用,所以这个建议有点毫无意义。 - Pascal Cuoq