(((82125.49845)/(0 +1))*((1 +((2.84 * 1)/ 100))/(1 +((2.84 * 1)/ 100)+ 0.005))^(14.083)
上面的计算为我提供了正确的值76 703.2452
但是,当我使用Math.pow在salesforce中进行此操作时,它不会给我确切的结果并帮助我进行排序,下面是我在salesforce顶点类中使用的选项
1)System.debug('>>> pow ='+ Math.pow((82125.49845 /(0 + 1))*((1 +((2.84 * 1)/ 100))/(1 +((2.84 * 1)/ 100)+ 0.005).doubleValue(),14.0832.doubleValue());
2)System.debug('>>> final ='+(82125.49845 /(0 +1))*((1 +((2.84 * 1)/ 100))/(1 +((2.84 * 1)/ 100 )+ 0.005))。pow(14.0832));
答案 0 :(得分:0)
问题在于,pow
函数仅适用于Double
,它们的精度低于实数计算的Decimal
类型。
Math
类确实支持使用自然指数和自然对数的Decimal
s的幂运算,因此这对您来说应该有效:
Math.exp ( Math.log ((82125.49845) / (0 + 1)) + 14.083 * Math.log ((1 + ((2.84*1)/100)) / (1 + ((2.84*1)/100) + 0.005)) )