gpt4 book ai didi

快速数字格式化

转载 作者:bug小助手 更新时间:2023-10-28 10:49:27 25 4
gpt4 key购买 nike

我刚刚开始了解 Swift,但我在非常基础的数字格式方面遇到了严重问题。

例如,我需要显示一个至少有 2 位数字的整数(例如 00、01、02、03、04、05 ...)。我期望的正常语法是这样的:

println("%02i %02i %02i", var1, var2, var3);

...但是我没有找到任何关于如何在 Swift 中实现这一目标的明确说明。我很难相信我需要创建一个自定义函数来做到这一点。将 float 或 double 值返回到固定的小数位数也是如此。

我找到了几个类似问题的链接(Precision String Format Specifier In SwiftHow to use println in Swift to format number),但它们似乎混合了 objective-c ,甚至谈论了 Python 和使用统一库。这种基本的编程需求没有 Swift 解决方案吗? Swift 完全忽略了一些如此基本的东西,这真的是真的吗?

最佳答案

您可以使用此构造函数构造一个具有类似 c 格式的字符串:

String(format: String, arguments:[CVarArgType])

示例用法:

var x = 10

println(String(format: "%04d", arguments: [x])) // This will print "0010"

如果你要经常使用它,并且想要一个更紧凑的形式,你可以实现这样的扩展:

extension String {
func format(arguments: [CVarArgType]) -> String {
return String(format: self, arguments: arguments)
}
}

允许像本例那样简化其用法:

"%d apples cost $%03.2f".format([4, 4 * 0.33])

关于快速数字格式化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26167453/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com