代碼如下,執行時m_num < m_str.ToDouble()的回傳結果為true,百思不得解,請各位大大解釋下。
//---------------------------------------------------------------------------
#include <vcl.h>
#include <stdio.h>
#pragma hdrstop
//---------------------------------------------------------------------------
#pragma argsused
int main(int argc, char* argv[])
{
AnsiString m_str = "0.74";
double m_num = 0.74;
double m_num2 = m_str.ToDouble();
if(m_num < m_str.ToDouble())
{
printf("ToDouble %.2f < %.2f\n",m_num,m_str.ToDouble());
}
if(m_num < m_num2)
{
printf("%.2f < %.2f\n",m_num,m_num2);
}
system("PAUSE");
return 0;
}
uj5u.com熱心網友回復:
結果應該是這也的uj5u.com熱心網友回復:
你改成這樣就對了if (m_num < m_num2)
Caption = 1;
else
Caption = "2";
uj5u.com熱心網友回復:
請教下,為什么不能使用這種判定方式 if(m_num < m_str.ToDouble())?
uj5u.com熱心網友回復:
真的很奇怪。估計是一個bug轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/98808.html
標籤:基礎類
