小编use*_*048的帖子

为什么当我为浮点数分配一个int时它是不是相同的值?

当我从一个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

4
推荐指数
1
解决办法
185
查看次数

标签 统计

java ×1