A. float foo = -1; B. float foo = (float)1.0; C. float foo = (float)42e1; D. float foo = 2.02f; E. float foo = (float)3.03d; F. float foo = 0x0123;前面的已经说对了,只要强制类型转换就可以了,因为float默认用double来处理
1.0 是 double 型 b 可改为float foo=1.0f; c 中42e1同样会被认成 double c可改为float foo=42e1f;
float foo = 42e1;
对于含有小数点的数和指数,编译器通常作为double来处理,所以认为丢失精度。
甚至 1. 也不行。
byte--short-char--int--long--float--double
B. float foo = (float)1.0;
C. float foo = (float)42e1;
D. float foo = 2.02f;
E. float foo = (float)3.03d;
F. float foo = 0x0123;前面的已经说对了,只要强制类型转换就可以了,因为float默认用double来处理
c 中42e1同样会被认成 double c可改为float foo=42e1f;