He *_*何一非 11 floating-point swift
这是一些浮动值:
5.3
23.67
0.23
Run Code Online (Sandbox Code Playgroud)
我希望他们成为
05.30
23.67
00.23
Run Code Online (Sandbox Code Playgroud)
使用String(format: "%.2f", floatVar)可以使小数点后面的2位数,但不能在它之前添加零.
我也试过这里的String(format: "%04.2f", floatVar)建议,但它只是显示相同%.2f
在Swift标准库中有没有一种干净的方法呢?
Cod*_*ent 21
如果您想要快速而肮脏的解决方案:
String(format: "%05.2f", floatChar)
Run Code Online (Sandbox Code Playgroud)
从这个文档:0意味着用前导零填充它.5是最小宽度,包括点字符.
更长的答案是某些语言环境使用逗号作为小数分隔符.如果要匹配用户的区域设置,请使用NumberFormatter:
let formatter = NumberFormatter()
formatter.minimumFractionDigits = 2
formatter.maximumFractionDigits = 2
formatter.minimumIntegerDigits = 2
formatter.string(from: NSNumber(value: floatChar))!
Run Code Online (Sandbox Code Playgroud)