浮到int铸造bug?

时间:2015-03-04 13:24:19

标签: c# casting

为什么下面的代码会给出不同的结果?! 我对此感到非常震惊。

static void Main(string[] args)
{
    int myInt = (int)(5 * 1.4f);
    Console.WriteLine(myInt); //Outputs 6

    float myFloat = 5 * 1.4f;
    myInt = (int)myFloat;
    Console.WriteLine(myInt); //Outputs 7

    Console.ReadLine();
}

他们都应该给出结果7,但第一个给我6.而5 * 1.4f应该是7。

0 个答案:

没有答案