如果我们float在 Java 中使用数据类型,我们必须f在浮点文字的末尾添加,因为 Java 假定它是double数据类型并给出一个错误,为什么不这样做short,byte因为两者的范围都小于int.
例如,您不能将这个东西与 a 一起使用byte,因为 abyte始终可以被同等对待。它始终是一个字节。但实数只能表示为近似值。之间的差double和float是double使用64位和float32即浮动是少的Percision的。
它int与long整数的和类似。整数的默认类型是int. 同样,实数的默认类型是double。
现在,如果您想改用float精度。您需要以某种方式让编译器知道。这正是存在的原因f。告诉编译器如何处理这个值。
基本上,当你这样做时,float x = 0.1f你隐式地将0.1文字转换为浮点数。
这个语句等于float x = (float) 0.1
现在让我们尝试一下:
float x = 0.1f;
double y = 0.1;
Run Code Online (Sandbox Code Playgroud)
System.out.println(x == y)会给你false。为什么?让我们看看小数点后的前 20 位数字:
0.1f --> 1000000014901161200
0.1 --> 1000000000000000055
Run Code Online (Sandbox Code Playgroud)
我希望这有帮助。
| 归档时间: |
|
| 查看次数: |
169 次 |
| 最近记录: |