字符转为双精度值后计算结果问题
代码如下:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
double dres,sres,dtest1,dtest2;
AnsiString stest;
dtest1=262.2;
dtest2=265.2;
stest="265.2";
sres=(stest.Trim().ToDouble()-dtest1)*780;
dres=(dtest2-dtest1)*780;
}
结果sres=2340.000000000001
而dres=2340
按我们的计算也应该是2340,字符转换后怎么这样呢?
请帮忙!