這是同事發現的有趣現象(雖然她完全笑不出來)...
string cmdStr = "SELECT N FROM PRECTEST";
using (OracleConnection cn = new OracleConnection(cnStr))
{ cn.Open();
OracleCommand cmd = new OracleCommand(cmdStr, cn);
OracleDataReader dr = cmd.ExecuteReader();
dr.Read();
Console.WriteLine(Convert.ToDouble(dr["N"]).ToString());
Console.WriteLine(Convert.ToDouble(dr["N"].ToString()).ToString());
dr.Close();
cn.Close();
}
上述的兩行WriteLine,得到的結果不會相同,直接ToDouble會得到9.30000019073486,而ToString後再ToDouble才會得到9.3。