C++ cin >> 双重不科学
C++ cin >> double not in scientific
std::stringstream is ( "a12.34e" );
double d;
char c;
is >> c >> d;
// d = 0
如何使双精度读取为std::fixed
而不是std::scientific
(12.34e+001)?
删除数字后的 e 将产生 12.34 作为输出。
正如对您的问题的第一条评论所示,以下内容也有效:
#include <cstdio>
int main() {
double d;
char c;
sscanf("a12.34e", "%c%lf", &c, &d);
printf("%c %lfn", c, d);
return 0;
}
输出:A 12.340000
std::stringstream is ( "a12.34e" );
double d;
char c;
is >> c >>std::fixed >> d;
相关文章:
- 将成员变量添加到共享库中的类中,不会破坏二进制兼容性吗
- 我的神经网络不起作用 [XOR 问题]
- 在C#中处理C++指针而不使用unsafe的最佳方法
- 为什么随机数生成器不在void函数中随机化数字,而在main函数中随机化
- QSqlquery prepare()和bindvalue()不工作
- 努力将整数转换为链表。不知道我在这里做错了什么
- 整数不会重复超过随机数
- C - 创建矢量&lt; vector&lt; double&gt;&gt;矩阵具有分配而不是inizializ
- eigen :: llt&lt;eigen :: matrixxd&gt;具有不完整的类型
- std::vector<;uint8_t>;当C++11/14启用时,手动复制而不是调用memcpy
- 为什么std::cout打印非常小的科学符号值,而不是四舍五入到零
- ``这个''不能用this-&gt;指针变量
- 是std :: set&lt; std :: future&gt;不可能存在
- 我如何表现出一个正常的双重双重,而不是科学规范化
- C++ cin >> 双重不科学
- 获取随机科学数字而不是输入
- 删除浮点数上的科学记数法,而不强制固定宽度
- 如何检查科学记数法是否加倍或不C++
- 科学的“d”符号不能在c++中读取
- 有效地将Double转换为不带科学符号或尾随零的string