在 D 中格式化字符串

Formatting a string in D

我在 D 的文档中读到可以将带参数的字符串格式化为打印语句,例如:

float x = 100 / 3.0;
writefln("Number: %.*g", 2, x);

Number: 33.33

但是,我想知道如果我只想要等效的字符串而不打印它,我将如何执行此操作。我查看了 std.format 库,但对于我只需要使用一次的东西来说,这似乎有点混乱。有没有更清楚一点的?

导入std.stringstd.format并使用format函数。

import std.string;

void main()
{
    float x = 100 / 3.0;
    auto s = format("Number: %.*g", 4, x);
    assert(s == "Number: 33.33");
}