swift - Swift 中 float 的前导零

标签 swift floating-point

这里有一些浮点值:

5.3
23.67
0.23

我希望他们成为

05.30
23.67
00.23

使用 String(format: "%.2f", floatVar) 可以让小数点后有 2 位,但不能在小数点前加零。

我也按照建议尝试了 String(format: "%04.2f", floatVar) here但它只是显示与 %.2f

相同

在 Swift 标准库中是否有一种简洁的方法来执行此操作?

最佳答案

如果你想要一个快速而肮脏的解决方案:

String(format: "%05.2f", floatChar)

来自 this documentation : 0 表示用前导零填充。 5 是最小宽度,包括点字符。


较长的答案是某些语言环境使用逗号作为小数点分隔符。如果要匹配用户的语言环境,请使用 NumberFormatter:

let formatter = NumberFormatter()
formatter.minimumFractionDigits = 2
formatter.maximumFractionDigits = 2
formatter.minimumIntegerDigits = 2

formatter.string(from: NSNumber(value: floatChar))!

关于swift - Swift 中 float 的前导零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33447340/

相关文章:

Bash - 从 ffmpeg 获取时差 - 音频和视频合并

ios - 确定 SKNode 是否在相机 View 前面 (ARKit Spritekit)

ios - 试图从 Objective-C 转向 Swift VC

java.lang.Math—— “within 1 ULP” 是独占还是包含?

assembly - V*** 和 F*** 浮点 ARM 指令有什么区别?

sockets - 通过 TCP/IP 传输浮点值和数据损坏

javascript - 将 32 位无符号 "Real"数据类型(拆分为两个 16 位有符号字)转换为 javascript

arrays - 从 Swift 数组中删除自定义类型的集合

swift - 快速从相机滚动的图像中获取创建日期

swift - firebase queryOrdered byChild 的错误快照