Math.exp in Java 计算错误?
Math.exp in Java calculates incorrectly?
在Java脚本中,我尝试了Math.exp(-1800/2000)
,结果是0.4065696597405991
。但是,在Java中,同样的功能returns1.0
?我阅读了 Java and Javascript 中的文档和 Math.exp 基本上做同样的事情。
在 Java、Math.exp(a) returns:
the value e^a, where e is the base of the natural logarithms. //in Java
在Java脚本中,Math.exp(x) returns:
A number representing e^x, where e is Euler's number and x is the
argument.
也许这只是初学者的错误。
在 Java 中,-1800/2000
生成一个整数 (0
)。您需要转换为合适的类型 (double
)。
尝试:
Math.exp(-1800.0/2000.0)
或者您的情况:
multiplier1 = Math.exp((double)-frequency / 1300.0) * 1700.0;
在Java脚本中,我尝试了Math.exp(-1800/2000)
,结果是0.4065696597405991
。但是,在Java中,同样的功能returns1.0
?我阅读了 Java and Javascript 中的文档和 Math.exp 基本上做同样的事情。
在 Java、Math.exp(a) returns:
the value e^a, where e is the base of the natural logarithms. //in Java
在Java脚本中,Math.exp(x) returns:
A number representing e^x, where e is Euler's number and x is the argument.
也许这只是初学者的错误。
在 Java 中,-1800/2000
生成一个整数 (0
)。您需要转换为合适的类型 (double
)。
尝试:
Math.exp(-1800.0/2000.0)
或者您的情况:
multiplier1 = Math.exp((double)-frequency / 1300.0) * 1700.0;