> c >> d; // d = 0 如何让它以 std::fixed 而不是 st-6ren">
gpt4 book ai didi

C++ cin >> double 不科学

转载 作者:太空宇宙 更新时间:2023-11-04 14:33:54 25 4
gpt4 key购买 nike

std::stringstream is ( "a12.34e" );
double d;
char c;
is >> c >> d;
// d = 0

如何让它以 std::fixed 而不是 std::scientific (12.34e+001) 的形式读取 double?

最佳答案

删除数字后的 e 会产生 12.34 作为输出。

正如对您问题的第一条评论所表明的,以下内容也适用:

#include <cstdio>

int main() {
double d;
char c;
sscanf("a12.34e", "%c%lf", &c, &d);
printf("%c %lf\n", c, d);
return 0;
}

输出:12.340000

关于C++ cin >> double 不科学,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29580140/

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