gpt4 book ai didi

c++ - 为什么我的double变量通过添加c++来显示nan?

转载 作者:行者123 更新时间:2023-12-02 10:02:16 33 4
gpt4 key购买 nike

我正在尝试将totalprofit打印到输出文件中,但是totalprofit出来是nan。利润变量很好,它不会变成无穷大或除以0。我只是将利润值加到利润总额中。不知道为什么向我展示nan。

double profit, totalprofit; 

int intsize = 500;

for(int j = 0; j < 372500; j++)
{


infile>>data;
tradethis.push_back(data);

if(j%intsize==0)
{

for(int i=1; i<intsize; i++)
{
profit=0;
profit=eurusd.position(i-1)*((tradethis[i]-tradethis[i-1])); //position returns 1000

totalprofit = totalprofit + profit;

outdata<<totalprofit<<endl;

cout<<totalprofit<<endl;

//pnl.push_back(totalprofit);

if(profit>0)
{
c+=1.0;
t+=1.0;
}

else if(profit<0)
{
w+=1.0;
t+=1.0;
}

}
tradethis.clear();
}

}
outdata.close();

最佳答案

  • 始终初始化变量
  • double profit = 0, totalprofit = 0; 一个好的编译器会对此发出警告。
  • 在需要的地方声明变量,而不是在最上面。 profit不需要提前声明。
  • 关于c++ - 为什么我的double变量通过添加c++来显示nan?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62029293/

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