Javascript Java中的Math.exp计算不正确?
在Javascript中,我尝试了Javascript Java中的Math.exp计算不正确?,javascript,java,math,exp,Javascript,Java,Math,Exp,在Javascript中,我尝试了Math.exp(-1800/2000),结果是0.4065696597405991。但是,在Java中,相同的函数返回1.0?我阅读了文档和Math.exp,基本上做了同样的事情。 在Java中,Math.exp(a)返回: 值e^a,其中e是自然对数的底//在爪哇 在Javascript中,Math.exp(x)返回: 表示e^x的数字,其中e是欧拉数,x是 争论 也许这只是初学者的错误。在Java中,-1800/2000产生一个整数(0)。您需要转换为合
Math.exp(-1800/2000)
,结果是0.4065696597405991
。但是,在Java中,相同的函数返回1.0
?我阅读了文档和Math.exp,基本上做了同样的事情。
在Java中,Math.exp(a)返回: 值e^a,其中e是自然对数的底//在爪哇 在Javascript中,Math.exp(x)返回: 表示e^x的数字,其中e是欧拉数,x是 争论
也许这只是初学者的错误。在Java中,
-1800/2000
产生一个整数(0
)。您需要转换为合适的类型(double
)
尝试:
或者在您的情况下:
multiplier1 = Math.exp((double)-frequency / 1300.0) * 1700.0;
在Java中,
-1800/2000
生成一个整数(0
)。您需要转换为合适的类型(double
)
尝试:
或者在您的情况下:
multiplier1 = Math.exp((double)-frequency / 1300.0) * 1700.0;
在java中,
-1800/2000
是0。不太清楚Javascript。试试-1800.0/2000
我实际上有这样一个:乘法器1=Math.exp(-frequency/1300)*1700
。所以很明显,变量频率类型int
是不正确的原因。是的,我想就是这样。我编辑了我的答案以反映您的代码。在java-1800/2000
中为0。不太清楚Javascript。试试-1800.0/2000
我实际上有这样一个:乘法器1=Math.exp(-frequency/1300)*1700
。所以很明显,变量频率类型int
是不正确的原因。是的,我想就是这样。我编辑了我的答案以反映你的代码。哎哟。谢谢@RobinTopper。修正了,哎哟。谢谢@RobinTopper。固定的。