invalid floating point operation 出錯!该如何解决

invalid floating point operation 出錯!
dMonth4 = (double(iMonth3)/double(iMonth1))*100;

dMonth4是double類型~  
iMonth3是int 類型   

這種算法報 invalid floating point operation ! 怎麼解決!
------解决方案--------------------
除零报的异常是 Floating point division by zero

报 invalid floating point operation 这个错未必就是除0的错。

你的iMonth3和iMonth1的值分别是多少?

------解决方案--------------------
本帖最后由 ccrun 于 2010-11-26 17:15:18 编辑
代码写的严谨一些就行了:

double dMonth4;
if (iMonth3 == 0 
------解决方案--------------------
 iMonth1 == 0)
    dMonth4 = 0;
else
    dMonth4 = (double(iMonth3) / double(iMonth1)) * 100;

------解决方案--------------------
引用:
是這麼個意思~~  
iMonth3= 0時報~~~  invalid floating point operation 錯誤
iMonth1= 0時報~~~  invalid floating point zero 錯誤


"iMonth3= 0時報~~~  invalid floating point operation 錯誤"
这个错 怎么来的? 你用什么测试的啊?


void __fastcall TForm1::Button1Click(TObject *Sender)
{
  int iMonth3 = 0 ;//为0  运行正常
  int iMonth1 ;
  iMonth1   = 1 ;
  double dMonth4 = (double(iMonth3)/double(iMonth1))*100;//运行正常
}
//---------------------------------------------------------------------------