По сути, я не понимаю, почему приведенный ниже код будет выводить 434, когда 4,35 * 100 = 435,0, который преобразуется в целое число 435, верно?
Каково простое объяснение этого и является ли этопроблема, которая возникает часто?
Как бы вы обойти это?
public class RoundOffDemo {
public static void main(String[] args) {
double price = 4.35;
int cents = (int) (100 * price); // Should be 435
System.out.println(cents); // Prints 434!
}
}