十进制中的System.OverflowException
本文关键字:OverflowException System 十进制 | 更新日期: 2023-09-27 18:28:40
这里我正在C#中进行项目。但当我用这个代码运行函数时,程序会出现这个异常。
jx += Convert.ToDecimal(-6164.64/ ((Math.Log10(Convert.ToDouble(0.434294D *Math.Log10(Convert.ToDouble( 0.813008D*(decimal.ToDouble(vyteznost_CO2_s_vysokym_tlakem * 1000000 * mars_g_acceleration) / martian_surface))))))));
在这里,您需要将公式分为多个步骤,每个步骤计算一个简单表达式,并将结果分配给一个单独的变量,以便在下一步中使用。这将允许您调试计算,并查看简化最终公式的方法。
decimal范围:-79228162514264337593543950335M至792281625142 64337593546950335M双量程:1.7976931348623157E+308至1.7976931484623157E+308
像这样:
// vyteznost_CO2_s_vysokym_tlakem = x1 it mustn't be 0.00
// mars_g_acceleration = x2 it mustn't be 0.00
// martian_surface = x3 it mustn't be 0.00
decimal x1 = 1.11m,
decimal x2 = 1.11m;
double x3 = 1.11d;
double v1 = decimal.ToDouble(x1 * 1000000 * x2) / x3;
double v2 = v1 * 0.813008D;
double v3 = Convert.ToDouble(v2);
double v4 = Math.Log10(v3);
double v5 = Convert.ToDouble(v4 * 0.434294D);
double v6 = Math.Log10(v5);
decimal v7 = Convert.ToDecimal(-6164.64D / v6); //Result
`