【问题标题】:Pure version of `std.format.format!`?`std.format.format!` 的纯版本?
【发布时间】:2019-12-28 10:39:58
【问题描述】:

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

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

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

【问题讨论】:

    标签: d function-attributes


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-21
      • 2019-08-04
      • 2023-04-01
      • 2013-02-17
      相关资源
      最近更新 更多