`std.format.format!` 的纯版本?

Pure version of `std.format.format!`?

我想在纯函数中将双精度型转换为字符串。我很困惑为什么这不是纯粹的:

wstring fromNumber(double n) pure {
    import std.format;
    return std.format.format!("%s"w)(n);
}

有没有办法以 pure 的方式实现此功能,而不必重新实现将双精度数转换为 base10 字符串的逻辑?

所以它不纯粹的原因是转换取决于全局信息,例如语言环境(1,4 vs 1.4)和 [=14 中的浮点舍入标志=]. D 实现调用依赖于这些的 C 函数。所以我有点认为答案是有人将不得不重新实现逻辑,而且由于很多原因,这很重要。