无法从“浮动”转换?浮

Bah*_*ahy 2 c#

我有这个代码:

public float? InputCutOffFrequency { get; set; }//fc

public float? InputF1 { get; set; }

public float? InputF2 { get; set; }

public float InputTransitionBand { get; set; }

public float InputFS { get; set; }

public float calcFc1(float f, float fs, float transition)
{
    float _f = f + (transition / 2);
    _f /= fs;
    return _f;
}

float fc1;
fc1 = calcFc1(InputCutOffFrequency, InputFS, InputTransitionBand);
Run Code Online (Sandbox Code Playgroud)

运行此代码时,我收到此错误:

cannot convert from 'float?' to 'float
Run Code Online (Sandbox Code Playgroud)

我该如何修复这个错误?

小智 6

它是一个可为空的浮点数,因此您需要指定您想要的值。

fc1 = calcFc1(InputCutOffFrequency.Value, InputFS, InputTransitionBand);
Run Code Online (Sandbox Code Playgroud)

或者如果它为空,您可以默认它

fc1 = calcFc1(InputCutOffFrequency.GetValueOrDefault(0), InputFS, InputTransitionBand);
Run Code Online (Sandbox Code Playgroud)