获取java.lang.double无法强制转换为java.lang.long [英] Getting java.lang.double cannot be cast to java.lang.long
问题描述
private void RecalculateFreqencies1()
{
int inputDivider = 0;
int outputDivider = 0;
int fbDivider = 0;
double tempFrequency = 0.f;
double nearestFrequency = 0.f;
long targetFrequencyLong =(long) spn_TargetFrequency1.getValue();
double targetFrequency =(double)targetFrequencyLong;
if(targetFrequencyLong == 50000000)
{
tempFrequency =((double)_inputFrequency /(double)20)*(double)800 /(double)32;
nearestFrequency = tempFrequency;
_pllidivEstimate = 20;
_pllodivEstimate1 = 32;
_pllfbEstimate = 800;
_pllodivEstimate2 = 10;
}
int outputspn2 = _pllodivEstimate1 / 3;
if(outputspn2< 1)
outputspn2 = 1;
spnfreq2 =((double)_inputFrequency /(double)_pllidivEstimate)* (double)_pllodivEstimate1 /(double)outputspn2;
spn_TargetFrequency2.setValue(spnfreq2);
}
private void RecalculateFreqencies2()
{
long targetFrequencyLong2 =(long)spn_TargetFrequency2.getValue();
}
我尝试过:
获取java.lang.Double无法转换为java。 lang.Long exceptionthis here
private void RecalculateFreqencies2()
{
long targetFrequencyLong2 =(long)spn_TargetFrequency2.getValue() ; //例外
}
参见 Double(Java Platform SE 7) [ ^ ]。
< blockquote>执行RecalculateFreqencies2()注释RecalculateFreqencies1(),未看到异常。 RecalculateFreqencies1()设置spn_TargetFrequency2值。这个值是在RecalculateFreqencies2()中使用
获取的。
long targetFrequencyLong2 =(long)spn_TargetFrequency2.getValue();
这里我得到java.lang.Double不能被强制转换到java.lang.Long异常
private void RecalculateFreqencies1()
{
int inputDivider = 0;
int outputDivider = 0;
int fbDivider = 0;
double tempFrequency = 0.f;
double closestFrequency = 0.f;
long targetFrequencyLong = (long)spn_TargetFrequency1.getValue();
double targetFrequency = (double)targetFrequencyLong;
if(targetFrequencyLong == 50000000)
{
tempFrequency = ( (double)_inputFrequency / (double) 20 ) * (double) 800 / (double) 32;
closestFrequency = tempFrequency;
_pllidivEstimate = 20;
_pllodivEstimate1 = 32;
_pllfbEstimate = 800;
_pllodivEstimate2 = 10;
}
int outputspn2 = _pllodivEstimate1/3;
if (outputspn2<1)
outputspn2 = 1;
spnfreq2 = ( (double)_inputFrequency / (double) _pllidivEstimate ) * (double) _pllodivEstimate1 / (double)outputspn2;
spn_TargetFrequency2.setValue(spnfreq2);
}
private void RecalculateFreqencies2()
{
long targetFrequencyLong2 = (long)spn_TargetFrequency2.getValue();
}
What I have tried:
Getting "java.lang.Double cannot be cast to java.lang.Long exception" here
private void RecalculateFreqencies2()
{
long targetFrequencyLong2 = (long)spn_TargetFrequency2.getValue();//exception
}
See Double (Java Platform SE 7 )[^].
on executing RecalculateFreqencies2() commenting RecalculateFreqencies1(), exception not seen. RecalculateFreqencies1() sets "spn_TargetFrequency2" value. This value is fetched in RecalculateFreqencies2() using
long targetFrequencyLong2 = (long)spn_TargetFrequency2.getValue();
Here i am getting "java.lang.Double cannot be cast to java.lang.Long exception
这篇关于获取java.lang.double无法强制转换为java.lang.long的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!