Java中的Math.exp计算不正确?

时间:2017-04-26 09:45:47

标签: javascript java math exp

在Javascript中,我尝试Math.exp(-1800/2000),结果为0.4065696597405991。但是,在Java中,相同的函数返回1.0?我在Java中阅读了文档和Math.exp,Javascript基本上做了同样的事情。

在Java中,Math.exp(a)返回:

  

值e ^ a,其中e是自然对数的基数。 //在Java中

在Javascript中,Math.exp(x)返回:

  

表示e ^ x的数字,其中e是欧拉数,x是   参数。

也许这只是初学者的错误。

1 个答案:

答案 0 :(得分:5)

在Java中,// Your chars char[] chars = "ABCDEF0".ToCharArray(); // The last char char checkDigit = chars.Last(); // Make new array without checkDigit chars = chars.Reverse().Skip(1).Reverse(); 会产生一个整数(-1800/2000)。您需要转换为合适的类型(0)。

尝试:

double

或者在你的情况下:

Math.exp(-1800.0/2000.0)