gpt4 book ai didi

c++ - 精度损失

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

如果我有一个等于 "123.546123" 的 double 字符串并使用 atof 将其转换为 double 字符串,我只会得到 123.546 .我该怎么做才能解决这个问题?

这是我的代码:

#include <iostream>

int main(){

std::string a = "123.546123";
double b = atof(a.c_str());

std::cout << a << std::endl;
std::cout << b << std::endl;

return EXIT_SUCCESS;
}

最佳答案

std::cout默认情况下打印精度为 6 的浮点值。要提高精度,请使用 std::setprecision 来自 <iomanip> ,例如:

std::cout << std::setprecision(9) << b << std::endl;

关于c++ - 精度损失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43160071/

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