JavaScript数学表达式产生不同的结果

JavaScript数学表达式产生不同的结果,javascript,math,Javascript,Math,下面是我的Javascript代码中的一行代码。它输出-5108024,当sqftVal=2828和bathsVal=3.5时会有一些变化 out.value = -6932000 + 221400 * Math.log(sqftVal) + 637.2*Math.exp(bathsVal) + 51640; 然而,当我在计算器中手动输入时,我得到大约-5099721和一些变化。我在R中得到了相同的结果。为什么JavaScript会把数学搞得一团糟,我能做些什么来解决这个问题 计算器/R输入

下面是我的Javascript代码中的一行代码。它输出-5108024,当
sqftVal=2828
bathsVal=3.5
时会有一些变化

out.value = -6932000 + 221400 * Math.log(sqftVal) + 637.2*Math.exp(bathsVal) + 51640; 
然而,当我在计算器中手动输入时,我得到大约-5099721和一些变化。我在
R
中得到了相同的结果。为什么JavaScript会把数学搞得一团糟,我能做些什么来解决这个问题

计算器/R输入:
-6932000+221400*ln(2828)+637.2*e^(3.5)+51640=-5099721.073

我不认为这是一个浮点错误,因为当我添加更多的项时,差异会变得相当大


另外,在我添加了第四个术语(
+51640
)之前,一切都是匹配的,这对我来说毫无意义。

一定有其他代码干扰了您的值或其他内容,因为显示的代码不会产生您报告的值

var sqftVal=2828;
var bathsVal=3.5;
var值=-6932000+221400*Math.log(sqftVal)+637.2*Math.exp(bathsVal)+51640;

console.log(值)浮点错误是否会关闭@当我运行
var sqftVal=2828;var bathsVal=3.5-6932000+221400*数学日志(sqftVal)+637.2*数学经验(bathsVal)+51640
在控制台中,我得到了
-5099721.073030476
。@Yousaf不,我不相信它是浮点。@HereticMonkey你看到我做的方式有什么不同吗?我在R控制台中得到了这个数字,但在运行Javascript程序时没有。我将问题中的代码复制并粘贴到控制台中,在控制台中添加了几个
var
s和分号,使其可执行,然后运行它。