繁体   English   中英

计算浮点数和精度

[英]Calculating Floating point and precision

我有一项作业要我计算复利。 我做了大部分作业,但我应该用 2 个十进制数字显示“存款金额”。 但是我尝试了几种方法,例如parseFloat()toFixed但我仍然无法以 2 精度获取结果,我只能获取00.00 我需要这样的解决方案:

在此处输入图片说明

 <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="Cersoy-CNIT133-Assignments-4-part2" content="Cersoy-CNIT133-Assignments-4part2"> <meta name='viewport' content='width=device-width, initial-scale=1'> <link href="../Assignment_all.css" type="text/css" rel="stylesheet"> <title>Cersoy-CNIT133-Assignments_4-Part2</title> <style> #main{ background-color: burlywood; margin: auto; height: 30%; width: 50%; padding: 1em; text-align: center; border-radius: 10px; } #table{ border: solid 1px black; } th{ border: solid 1px black; } td{ border: solid 1px black; } } </style> </head> <body> <header> Cersoy-CNIT133-Assignments 4-Part2 </header> <div id="main"> <table id="table1" > <tr> <th>Year</th> <th>Amount of deposit</th> <th>Intrest Rate</th> </tr> <table id="table2" > <tr> <th>Year</th> <th>Amount of deposit</th> <th>Intrest Rate</th> </tr> <table id="table3" > <tr> <th>Year</th> <th>Amount of deposit</th> <th>Intrest Rate</th> </tr> </table> <script> var rate1=5;rate2=6;rate3=7; function addRow(a,b,c,t) { var table=0; if(t==1){table = document.getElementById("table1");} if(t==2){ table = document.getElementById("table2"); } else if(t==3){ table = document.getElementById("table3"); } var row = table.insertRow(-1); var cell1 = row.insertCell(0); var cell2 = row.insertCell(1); var cell3 = row.insertCell(2); cell1.innerHTML = a; cell2.innerHTML = b; cell3.innerHTML = c; } function calc(rate,tab){ var P=1000,A=0,n=0; r=rate.toFixed(2) r=r/100; for(n=0;n<=10;n++){ A=(P*(1+r)^n); var fn,o; o = {style: "currency", currency: "USD"}; fn = A.toLocaleString("en", o); addRow(n,fn,r,tab); P=A; } } document.addEventListener("DOMContentLoaded",calc(rate1,"1") +calc(rate2,"2")+calc(rate3,"3")); </script> </div> <form action="hm4.html"> <button class="back_button" >Return to Assignment-4 page</button> </form> <footer> This Webpage designed by Cagatay Ersoy </footer> </body> </html>

将用于.toLocalString()的选项对象更改为:

 A.toLocaleString(undefined, {
  minimumFractionDigits: 2,
  maximumFractionDigits: 2
})

您的 HTML 中有几个错误,您也应该考虑修复。

我只是添加Math.pow并且它起作用了,错误就在那里。

 <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="Cersoy-CNIT133-Assignments-4-part2" content="Cersoy-CNIT133-Assignments-4part2"> <meta name='viewport' content='width=device-width, initial-scale=1'> <link href="../Assignment_all.css" type="text/css" rel="stylesheet"> <title>Cersoy-CNIT133-Assignments_4-Part2</title> <style> #main{ background-color: rgb(222, 209, 135); margin: auto; height: 30%; width: 50%; padding: 1em; text-align: center; border-radius: 10px; } table{ margin: auto; width: 50%; } th{ border: solid 1px black; background-color: maroon; color: white; } td{ border: solid 1px black; background-color: rgb(201, 255, 4); color: blue; } </style> </head> <body> <header> Cersoy-CNIT133-Assignments 4-Part2 </header> <div id="main"> <table id="table1" > <tr> <th>Year</th> <th>Amount of deposit</th> <th>Intrest Rate</th> </tr> </table> <table id="table2" > <tr> <th>Year</th> <th>Amount of deposit</th> <th>Intrest Rate</th> </tr> </table> <table id="table3" > <tr> <th>Year</th> <th>Amount of deposit</th> <th>Intrest Rate</th> </tr> </table> <script> var rate1=5;rate2=6;rate3=7; function addRow(a,b,c,t) { var table=0; if(t==1){table = document.getElementById("table1");} if(t==2){ table = document.getElementById("table2"); } else if(t==3){ table = document.getElementById("table3"); } var row = table.insertRow(-1); var cell1 = row.insertCell(0); var cell2 = row.insertCell(1); var cell3 = row.insertCell(2); cell1.innerHTML = a; cell2.innerHTML = b; cell3.innerHTML = c; } function calc(rate,tab){ var P=1000,A=0,n=0; r=rate.toFixed(2) r=r/100; for(n=1;n<=10;n++){ A=(P*(Math.pow((1+r),n))); var fn,o; o = {style: "currency", currency: "USD",minimumFractionDigits: 2,maximumFractionDigits: 2}; fn = A.toLocaleString("en", o); addRow(n,fn,r,tab); P=A; } } document.addEventListener("DOMContentLoaded",calc(rate1,"1") +calc(rate2,"2")+calc(rate3,"3")); </script> </div> <form action="hm4.html"> <button class="back_button" >Return to Assignment-4 page</button> </form> <footer> This Webpage designed by Cagatay Ersoy </footer> </body> </html>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM