gpt4 book ai didi

c++ - C++中 float 的全精度显示?

转载 作者:搜寻专家 更新时间:2023-10-30 23:58:39 25 4
gpt4 key购买 nike

我已经阅读了几个关于 C++ 中 float 显示的主题,但我找不到满意的答案。

我的问题是: 如何在 C++ 中以科学格式(尾数/指数)显示 float 的所有有效数字?

问题是所有数字的基数为 10 的有效数字位数不同。

例如 double具有 15 到 17 有效小数位精度,但是 std::numeric_limits<double>::digits10返回 15,因此,对于某些数字,我将失去 2 个额外的精度小数位。

最佳答案

std::numeric_limits<double>::digits10提供可以安全恢复的小数位数,即在往返小数-> double 后保留的小数位数。 ->十进制。假设更多的小数位是正确的是没有帮助的。如果想方便往返double ->十进制-> double你会用 std::numeric_limits<double>::max_digits10 .

如果您想要确切的值,您可以使用 std::numeric_limits<double>::digits但它会以一种有趣的方式显示从十进制值转换而来的数字,因为它们通常是四舍五入的值。这也是max_digits10的原因在显示供人类使用的数字时没有用:最后几位数字通常不是人类读者所期望的。

关于c++ - C++中 float 的全精度显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19610161/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com