纯版本的'std.format.format!`?
我想在纯函数中将double转换成字符串。我不明白为什么这不是纯粹的:纯版本的'std.format.format!`?,d,function-attributes,D,Function Attributes,我想在纯函数中将double转换成字符串。我不明白为什么这不是纯粹的: wstring fromNumber(double n) pure { import std.format; return std.format.format!("%s"w)(n); } 有没有一种方法可以以pure的方式实现此函数,而无需重新实现将double转换为base10字符串的逻辑?因此,它不纯粹的原因是转换依赖于全局信息,如区域设置(1,4vs1.4)以及CPU中的浮点舍入标志。D实现调用依赖于
wstring fromNumber(double n) pure {
import std.format;
return std.format.format!("%s"w)(n);
}
有没有一种方法可以以
pure
的方式实现此函数,而无需重新实现将double转换为base10字符串的逻辑?因此,它不纯粹的原因是转换依赖于全局信息,如区域设置(1,4
vs1.4
)以及CPU中的浮点舍入标志。D实现调用依赖于这些的C函数。。所以我有点认为答案是有人将不得不重新实现逻辑,这是非常重要的,因为有很多原因