This error appears because the left side of ?? must be a Nullable type that can take  null as a value.
in your code: 
double final = double.Parse(min.ToString()) ?? 0.0;
You are using ?? operator which called Null-coalescing operator and what this operator do is checking if double.Parse(min.ToString()) __evaluates to a value has the type of double (which is a value type)_ is null or not. if it wasn't null, then assign the value to final, otherwise assigned 0.0 to it.
Since double is a value type and a value type variables cannot be null unless they are Nullable, you will get an error, and that's why you are getting this error: 
"Operator '??' cannot be applied to operands of type 'double' and 'double'."
To solve this, you can try this:
 double final = Convert.ToDouble(min);
which return zero if min was null.
PS: try to avoid using the Parse method, which throw System.FormatExceptoin when it fails to parse, use TryParse instead:
string min = "2.s"; // not a number
double finals;
bool successed =  double.TryParse(min, out finals); // true if successed, otherwise false.
Console.WriteLine(successed? $"Yes! finals =  {finals}": $"No :( finals =  {finals}");
// finals is 0 if the parse didn't work.
     
    
min? Can you share a complete example???has to be a nullable type.doublecan never be null, so it doesn't make sense to use??with it.