gpt4 book ai didi

c++ - 在 C++ 错误中乘以 double

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

我有一个看似简单的 C++ 问题困扰着我。代码输出

#include <iostream>
using namespace std;

int main() {
// your code goes here
double c = 9.43827 * 0.105952 ;
cout << c << endl ;
return 0;
}

是 1。只是 1。我猜这是由于基于 double 在 C++ 中的存储方式的精度损失,但 C++ 中肯定有一种方法可以在结果中获得某种精度(小数点后 2 位或 3 位) .

最佳答案

这不是存储中的精度损失,而是转换为文本时的精度损失。 double 的流插入器默认为六位有效数字。这里的乘积 1.000003583 四舍五入到六位有效数字是 1.00000。另外,如果你还没有设置 showpoint ,尾随零和小数点将被抑制,因此您将看到一个空的 1。要显示小数点,请使用 std::cout << std::showpoint << c << '\n'; .要查看更多有效数字,请使用 std::cout << std::setprecision(whatever) << c << '\n'; , 其中whatever是您希望格式化程序使用的位数。

关于c++ - 在 C++ 错误中乘以 double ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33949242/

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