Java float неожиданно округляется

Я использую константу с плавающей запятой и устанавливаю частную переменную с плавающей запятой объекта на константу с плавающей запятой ниже, но когда объект выводит значение, на которое он был установлен, он округляет последнюю цифру с плавающей запятой.

private final float RF_FREQUENCY = 956.35625f;
Object o = new Object();
o.setRFFrequency(RF_FREQUENCY);
System.out.println(o.getRFFrequency);

Вывод: 956.35626

Переменная в объекте объявлена ​​как protected float rfFrequency; , а ниже приведены методы получения и установки.

public float getRFFrequency() {
        return rfFrequency;
    }
public void setRFFrequency(float value) {
        this.rfFrequency = value;
    }

Есть идеи, почему это происходит?

0
задан mskfisher 15 May 2012 в 18:03
поделиться