不能表示双精度';无穷大';作为小数点,salesforce

不能表示双精度';无穷大';作为小数点,salesforce,salesforce,apex-code,apex,Salesforce,Apex Code,Apex,我有一个apex代码的问题,我们正在努力工作。我不断地犯错误 “System.MathException:不能将双‘无限’表示为十进制:(系统代码)” 当我们试图计算代码的math.log(rho/mu)部分时,就会出现这个问题。我尝试过将rho/mu的结果四舍五入,将其定义为double,以及其他许多东西。我试着将问题的除法部分设置为另一个变量并替换 alpha = rho / mu; ... * math.log(alpha) ... 几乎没有成功。这是我们将变量定义为小数的方式的问题吗

我有一个apex代码的问题,我们正在努力工作。我不断地犯错误

“System.MathException:不能将双‘无限’表示为十进制:(系统代码)”

当我们试图计算代码的math.log(rho/mu)部分时,就会出现这个问题。我尝试过将rho/mu的结果四舍五入,将其定义为double,以及其他许多东西。我试着将问题的除法部分设置为另一个变量并替换

alpha = rho / mu;
... * math.log(alpha) ... 
几乎没有成功。这是我们将变量定义为小数的方式的问题吗?math.log在9.81版本中运行良好,并且以“beta”作为结尾


我们使用excel和许多其他程序进行计算,从来没有出现过这样的问题。由于salesforce中没有math.log/exp技巧,无法计算(rho/mu)^0.52,因此我们以这种方式运行代码。有没有一种方法可以解决这个问题,或者用另一种方法来计算(rho/mu)^0.52的增长,而这不会给我们这个错误?

我终于得到了答案。。。谢谢。salesforce.stackexchange.com上的Mike Chale

这真是一个愚蠢的错误,最终的问题是应该有()大约0.76*math.log(9.81)(0.33*(math.exp(0.76*math.log(9.81))*math.exp(0.52*math.log(rho/mu))*它代表9.81^0.76

最后一个问题是,这种计算似乎超出了Apex所能处理的范围

我认为不必利用这些工作来提升权力还是很好的

再次感谢迈克·查尔

alpha = rho / mu;
... * math.log(alpha) ...