就算你不减去20014999,直接输出a,也是得到20015000这个问题是浮点型的精度丢失问题,float由32位字节构成,1位符号,8位幂指数,23位尾数20014999二进制为001100010110011110010111 共24位,所以float的尾数不够表示这个数所以只能把多余的部分进位上来,显示一个相近的数
强制转化需要注意数据的转化的长度,高的向低的转化会失去精度,