What's wrong with casting 0.0 to double?

前端 未结 5 1943
[愿得一人]
[愿得一人] 2020-12-16 10:56

I have InvalidCastException when I try to cast 0.0 to double, why is that so? It\'s fine when I do (float)value instead.

5条回答
  •  有刺的猬
    2020-12-16 11:34

    That's normal. If the object type is float you cannot cast it to double because they are not of the same type:

    object o = 1.0f;
    double d = (double)o; // will throw an exception
    

    You need to convert it:

    double d = Convert.ToDouble(o);
    

提交回复
热议问题