smorey Ответов: 2

Получение java.lang.double не может быть приведено к java.lang.long


частный недействительными RecalculateFreqencies1()
{
int inputDivider = 0;
int outputDivider = 0;
int fbDivider = 0;
двойной tempFrequency = 0.Ф;
двойной closestFrequency = 0.Ф;
long targetFrequencyLong = (long)spn_TargetFrequency1.getValue();
double targetFrequency = (double)targetFrequencyLong;

if(targetFrequencyLong == 50000000)
{
tempFrequency = ( (Double)в _inputFrequency / (двойной) 20 ) * (двойной) 800 / (дважды) 32;
closestFrequency = tempFrequency;
_pllidivEstimate = 20;
_pllodivEstimate1 = 32;
_pllfbEstimate = 800;
_pllodivEstimate2 = 10;
}

int outputspn2 = _pllodivEstimate1/3;
if (outputspn2<1)
outputspn2 = 1;
spnfreq2 = ( (Double)в _inputFrequency / (двуспальная) _pllidivEstimate ) * (двойной) _pllodivEstimate1 / (двуспальная)outputspn2;
spn_TargetFrequency2.метод setValue(spnfreq2);

}
частный недействительными RecalculateFreqencies2()
{
long targetFrequencyLong2 = (long)spn_TargetFrequency2.getValue();
}

Что я уже пробовал:

Получение "java.lang.Double не может быть приведен к java.lang.Длинное исключение" здесь
частный недействительными RecalculateFreqencies2()
{
long targetFrequencyLong2 = (long)spn_TargetFrequency2.getValue();//исключение
}

Richard MacCutchan

Вы используете слишком много приведений в своем коде, вам нужно переосмыслить, какой тип является оптимальным для всех ваших переменных.

2 Ответов

Рейтинг:
1

Richard MacCutchan

Видеть Double (Java Platform SE 7 )[^].


Рейтинг:
0

smorey

при выполнении функции RecalculateFreqencies2() комментируя функцию RecalculateFreqencies1(), исключение не видно. Функция RecalculateFreqencies1() устанавливает значение "spn_TargetFrequency2". Это значение извлекается в функции RecalculateFreqencies2() с помощью
long targetFrequencyLong2 = (long)spn_TargetFrequency2.getValue();
Вот я и получаю "java.lang.Double не может быть приведен к java.lang.Длительное исключение


Richard Deeming

Если вы хотите обновить свой вопрос, Нажмите зеленую ссылку "улучшить вопрос" и отредактируйте свой вопрос.

НЕ опубликуйте свое обновление как "решение".