1, 5.1f * 10, 甚至5.1f * 10f ,其运算结果都是 double 型,就是说,两个float 相乘,得到一个double。证据:调试,watch窗口中加入5.1f * 10f ,类型显示“double”
2,更强的是 double (50.999999046325684)转换成 float 转换成 51.0,但如果转换成 int、UInt16,就会转换成 50,证据:
double d = 50.999999046325684;
f = (float)d;
i = (UInt16)d;
结果是 f = 51.0, i = 50
单独说起来并不难,但隐藏在一大段程序里,就不一定容易发现