【发布时间】:2017-03-01 10:15:06
【问题描述】:
我正在实现一个算法,其中我需要高十进制精度,所以我使用 BigDecimal 但 Math.exp 只接受双精度参数。
值在运行时生成并作为参数传递给 Math.exp 即
BigDecimal mathEx = new BigDecimal( Math.exp(xMulXPoint5.doubleValue()));
Where xMulXPoint5 = -347222407183165.419208175
mathEx 结果值太小以至于结果显示为零而不是实际的小值。
任何人都可以建议任何其他方法来解决这个问题。
【问题讨论】:
-
即使是 wolfram alpha 也不想计算这个。你打算用它做什么,只用它的日志来表示它可以吗?例如,如果您要将它乘以一个非常大的值,那么您可以将两者的对数相加,并希望得到一个更可行的数字。
标签: java double precision bigdecimal exponent