gpt4 book ai didi

C++将字符串精确地转换为 double

转载 作者:行者123 更新时间:2023-11-27 23:10:37 24 4
gpt4 key购买 nike

我需要将字符串转换为精度高达 15 位的 double

我看过很多文章和类似的问题,他们建议在将数字打印到屏幕上时使用 setprecision(15)。

例如:

string line = "34.9438553";
double lon1 = strtod(line.c_str(),NULL);

如果我写

cout << lon1;

它只会打印 34.9439 而不是 34.9438553

我可以写

cout << setprecision(15) << lon1;

它会工作,但我需要变量 lon1 本身具有 15 位精度,因为我需要变量中的整个数字,而不仅仅是当我将它打印到屏幕上时。

有人知道怎么做吗?

最佳答案

setprecision 设置打印精度,而不是 double 。 strtod 将 double 读入 double 或字符串(在本例中以字符串为界)中可用的最小精度。

简而言之,您已经通过使用 strtod 获得了 lon1 中字符串的完整精度。

关于C++将字符串精确地转换为 double ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20579439/

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