`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 函数。所以我有点认为答案是有人将不得不重新实现逻辑,而且由于很多原因,这很重要。
我想在纯函数中将双精度型转换为字符串。我很困惑为什么这不是纯粹的:
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 函数。所以我有点认为答案是有人将不得不重新实现逻辑,而且由于很多原因,这很重要。