以下のコードの出力は
package com.ajay.compoitepattern;
class Test {
public static void main(String[] args) {
int big = 1234567890;
float approx = big;
System.out.println(big - (approx));
System.out.println(big - (int)(approx));
}
}
このプログラムへの出力は
0.0
-46
私の質問は、拡大変換で精度が失われた場合、最初の sysout でも -46 になるはずだったのに、なぜ最初の出力が 0.0 なのですか?