Excel 公式到 javascript

我试图在我的 javascript 代码中使用 excel 公式,但无法获得正确的结果,这是 excel 中的公式:

(C4-(C8/C6))*(1-((1+(C5/12))^-C6))/(C5/12)+C8+C7

以及我如何在 javascript 中尝试它:

(737-(50000/300))*(1-(Math.pow((1+(0.02/12)),-300)))/(0.02/12)+50000+10000

或者

(737-(50000/300))*(1-((1+(0.02/12))**-300))/(0.02/12)+50000+10000

两次尝试都给我相同的结果,但这个结果与 excel 中的结果不同,知道吗?

Javascript 给我 194558.80507389922 但 excel 给我 191516,666

http://img4.mukewang.com/64158a9600011e4308700174.jpg

米脂
浏览 103回答 2
2回答

牧羊人nacy

当我自己在 Excel 中尝试时,公式生成194559,8051(与 JS 相同)。当我将 C5 从 更改0,02为0,022然后公式生成191516,666(与您的 Excel 相同)。结论 -> 你的 C5 实际上是0,022,或者非常接近它。请确保您的单元格设置为根据需要显示尽可能多的小数以避免仅显示舍入。

汪汪一只猫

4 位小数的相同结果我的 Excel 使用默认值四舍五入,相同的结果为 7 位小数注意:浮点数学是否损坏?const C4 = 737;const C5 = 0.02;const C6 = 300;const C7 = 10000;const C8 = 50000;// (C4-(C8/C6))*(1-((1+(C5/12))^-C6))/(C5/12)+C8+C7         = 194558,8051 in my Office 365 Excel                                                           // 194558,805073901 - with 9 decimalsconsole.log((C4-(C8/C6))*(1-(Math.pow((1+(C5/12)),-C6)))/(C5/12)+C8+C7 // 194558.80507389922)console.log((C4-(C8/C6))*(1-((1+(C5/12))**-C6))/(C5/12)+C8+C7          // 194558.80507389922)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript