gpt4 book ai didi

c++ - 在 C++ 中以 'D' 作为指数前缀读取双科学记数法

转载 作者:搜寻专家 更新时间:2023-10-31 02:18:06 27 4
gpt4 key购买 nike

我正在尝试读取写为 -0.49430978D-02 的值,但它们只会以 -0.49430978 的形式出现。我将字符保存在字符串 vs 中,并且都尝试过

myval = stod(vs)

还有

sscanf(vs.c_str(), "%le", &myval)

但他们都未能读取科学计数法中的指数。是因为它是 D 而不是 E 吗?如何在 c++ 中正确读取此值?

最佳答案

D format 是一种不常见的浮点表示法,对于某些 Fortran 实现来说是常见的,用于指示 double (或更高)。据我所知,所有其他环境都使用 E用于 float ,不指示底层精度。

我认为您唯一的选择是将值作为字符串读取,替换任何 D带有 E 的字符然后用 strtod() 完成处理或等效的。

关于c++ - 在 C++ 中以 'D' 作为指数前缀读取双科学记数法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34844994/

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