Точный результат произведения (одинарной точности) числа с плавающей точкой 4.2f
и 10.f
равен
41.9999980926513671875
Ближайший тип с плавающей точкой к этому точному результату равен 42.0f
Но этоточный результат соответствует двойной точности, поэтому, если когда-либо выражение вычисляется с одинарной точностью, оно напечатает 42, но если оно будет оценено с двойной точностью, то будет напечатано 41.
IOW, выражение может бытьраскладывается на:
x = 4.2f;
x = x * 10.0f;
Debug.Log((int)(x));
Если компилятор решил сохранить одинарную точность x, он напечатает 42, но если он решил оценить x с двойной точностью, он напечатает 41.