为什么这段代码http://ideone.com/YRcICG为什么Convert.ToInt32(1.0/0.00004)!=(Int32)已(1.0/0.00004)
void Main()
{
double a = 0.00004;
Int32 castToInt = (Int32)(1.0/a);
Int32 convertToInt = Convert.ToInt32(1.0/a);
Console.WriteLine("{0} {1:F9} {2:F9}", castToInt == convertToInt, castToInt, convertToInt);
Console.WriteLine((((int)(1.0/(1.0/25000))) == 24999));
}
结果
在CLR的情况下假24999,000000000 25000,000000000
真
/C#实现
'0.00004'不可表示 –