2

((82125.49845) / (0 + 1)) * ((1 + ((2.84*1)/100)) / (1 + ((2.84*1)/100) + 0.005))^(14.083)
以上计算给了我正确的值 76 703.2452

但是当我在 salesforce 中使用 Math.pow 做这些事情时,它并没有给我确切的结果并帮助我把它整理出来,下面是我在 salesforce apex 类

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));

4

1 回答 1

0

问题是该pow函数仅适用于Doubles,其精度低于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)) )
于 2018-08-22T06:12:35.267 回答