当我从一个int分配到一个浮点数时,我认为浮点数允许更高的精度,所以不会丢失或改变分配的值,但我所看到的是完全不同的东西.这里发生了什么?
for(int i = 63000000; i < 63005515; i++) {
int a = i;
float f = 0;
f=a;
System.out.print(java.text.NumberFormat.getInstance().format(a) + " : " );
System.out.println(java.text.NumberFormat.getInstance().format(f));
}
Run Code Online (Sandbox Code Playgroud)
一些输出:
...
63,005,504:63,005,504
63,005,505:63,005,504
63,005,506:63,005,504
63,005,507:63,005,508
63,005,508:63,005,508
谢谢!
java ×1