【发布时间】:2018-02-13 15:52:56
【问题描述】:
我试图在循环中将数字转换为字符串,但立即将它们转换为双精度数,以便可以添加 3 个数字并用于获得平均值。这是我的代码:
string name;
double num = 0, many = 0, total = 0, value = 0;
inputFile.open("Rainfall.txt");
for (int count = 1; count <= 6; count++)
{
inputFile >> name;
if (count == 1 || count == 3 || count == 5)
{
continue;
}
num = stod(name);
num += total;
}
cout << total << endl;
虽然这给了我一个简单的 0 行输出,但我现在需要将字符串转换为双精度。输入文件如下所示:
1 月 1.2 日 2.3 3 月 2.4 日
8 月 2.3 日 9 月 2.4 日
【问题讨论】:
-
total 开始时为 0,您永远不会修改它。您想将您的 num 变量添加到总计中。尝试总计 += 数量。此外,您应该在调试器中单步执行您的代码以查看发生了什么。
-
好吧@AnonMail 谢谢我一直不敢相信我唯一的错误是我做 num += total 而不是你说的。谢谢你,我一定已经尝试了一切,但那。谢谢。
-
你也可以在每次循环中读入一个字符串和一个双精度值,然后简单地忽略字符串的值,而不是将一个字符串读入一个双精度值,然后计算何时需要@987654322 @.
-
@StephenDocy 你能给我提供那个代码吗?我这样做是因为我想不通
标签: c++ type-conversion double