纯格式的std.format.format!`?

问题描述 投票:1回答:1

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

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

有没有一种方法可以以pure的方式实现此功能,而不必重新实现将double转换为base10字符串的逻辑?

d function-attributes
1个回答
0
投票

所以它不纯净的原因是转换取决于全局信息,例如语言环境(例如1,41.4)和CPU中的浮点舍入标志。 D的实现调用了一个依赖于这些的C函数..所以我有点想答案是有人必须重新实现逻辑,由于很多原因,这并不平凡。

© www.soinside.com 2019 - 2024. All rights reserved.