gpt4 book ai didi

c++ - 浮点不准确的解决方法是什么?

转载 作者:太空宇宙 更新时间:2023-11-04 14:42:48 25 4
gpt4 key购买 nike

这是代码片段:

float pNum = 9.2;
char* l_tmpCh = new char[255];

sprintf_s(l_tmpCh, 255, "%.9f", pNum);

cout << l_tmpCh << endl;

delete l_tmpCh;

输出是:9.199999809
怎样做才能使结果为 9.200000000
注意:我需要以 9 位小数精度打印每个 float ,所以我不想使用 9.2

最佳答案

解决方法是不使用 float ..

不是每个数字都可以用浮点格式准确表示,例如 9.2。或 0.1。

如果您想要显示所有小数,则会得到 9.199999809,因为这是最接近 9.2 的浮点值。

如果您使用 float ,您必须接受这种不准确性。否则,您唯一的选择是以另一种格式存储号码。

Required reading

关于c++ - 浮点不准确的解决方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3922860/

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