有可能在Swift中的String格式中添加某种元变量吗



我有一个函数可以将Double值转换为String,并在末尾添加一个可变数(从0到3(的尾随零。

在这个功能中,我可以这样做:

var string: String = ""
switch digits {
case 0:  string = String(format:"%0.0f",  doubleValue)
case 1:  string = String(format:"%0.1f",  doubleValue)
case 2:  string = String(format:"%0.2f",  doubleValue)
default: string = String(format:"%0.3f",  doubleValue)
}

我想有一个格式选项,如:

let string = String(format:"%0.nf", numberOfDigits,  doubleValue)

其中,我们可以使用变量(numberOfDigits(指定小数点后的位数(n。我知道这些变量应该是要包含在String中的值,而不是格式声明的变量。。

有办法做到吗?

Rgds。。。e

format:字符串中使用通配符*指定变量值:

let string = String(format: "%.*f", numberOfDigits, doubleValue)

示例:

let doubleValue = Double.pi
for numberOfDigits in 0...4 {
print(String(format: "%.*f", numberOfDigits, doubleValue))
}

输出:

3
3.1
3.14
3.142
3.1416

最新更新