输入的数字位数大于大于float的精确范围, 高精度用低精度来强制转换容易数据失真. 好像是这样理解的
你要输出小数点后7位,可以用double,格式用%.7lf .7表示小数点后几位
----------------解决方案--------------------------------------------------------
float x=333.12345678901234567890;在内存中存储的方式是:+ .333123 1 的形式,所以float的有效位是六位。而不是333.12345678901234567890小数点的后六位
----------------解决方案--------------------------------------------------------
那为什么出现这种情况我不太清楚
不过我建议你去看看,计算机组成原理里面讲的那阶码的表示
----------------解决方案--------------------------------------------------------