阅读双科学记数法,'D'作为C++中的指数前缀
Read double scientific notation with 'D' as exponent prefix in C++
我正在尝试读取写为-0.49430978D-02
的值,但它们仅以-0.49430978
的形式出现。我将字符保存在字符串vs
中,并尝试了两者
myval = stod(vs)
以及
sscanf(vs.c_str(), "%le", &myval)
但他们都无法阅读科学记数法中的指数。是因为它是D
而不是E
吗?如何在c++
中正确读取此值?
D
格式是某些 Fortran 实现中常见的不常见浮点表示形式,用于指示双精度(或更高)。 AFAIK,所有其他环境都使用 E
表示浮点数,并且不指示基础精度。
我认为您唯一的选择是将值读取为字符串,用E
替换任何D
字符,然后用strtod()
或等效字符完成处理。
相关文章:
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- 为什么在没有显式默认构造函数的情况下,将另一个结构封装在联合中作为成员的结构不能编译
- 将Ref对象作为类成员
- 虚拟决赛作为安全
- 在VS2010-VS2015下编译时,如何使用decltype作为较大类型表达式的LHS
- 使用指向成员的指针将成员函数作为参数传递
- 我应该使用什么来代替void作为变体中的替代类型之一
- 何时提供默认参数作为模板参数
- 如何将 I->getType() 作为参数传递给 llvm 中的 CreateCall?
- C++使用数组作为多维数组,尽管将其初始化为带有指针的 1D
- C++匿名结构作为std::映射值
- C++:如何使函数只返回作为列表一部分的字符串
- 如何制作一个将函数作为参数的类方法
- 如何在C++中使用非静态成员函数作为回调函数
- 修改函数中的指针(将另一个指针作为参数传递)
- Clang bug?使用指针作为模板参数
- 函数作为模板参数,是否对返回类型强制约束
- 在C++中传递给函数时,为什么要指定数组大小作为参数
- 为什么 Clang 不允许"and"作为函数名称?
- 为什么 std::function 可以作为 std::not2 的参数?