簡體   English   中英

在while循環中計算JQuery

[英]Calculation of JQuery in while loop

嘗試使用jquery計算收支平衡點(BEP):

 function roundToTwo(num) { return +(Math.round(num * 100) / 100); } var text = "" var quantity = 1; var buy = 0; var sell = 10; var bep_pnl = -0.5; if (buy == 0) { buy = roundToTwo(sell - 0.01); while (bep_pnl < 0.01) { total_amnt_trade = roundToTwo((quantity * buy) + (quantity * sell)); var brokerage_amnt_buy = ((buy * quantity) * 0.08) / 100; if (brokerage_amnt_buy >= 25) { var brokerage_buy = 25; } else { var brokerage_buy = brokerage_amnt_buy; } var brokerage_amnt_sell = ((sell * quantity) * 0.08) / 100; if (brokerage_amnt_sell >= 25) { var brokerage_sell = 25; } else { var brokerage_sell = brokerage_amnt_sell; } var brokerage = roundToTwo(brokerage_buy + brokerage_sell); //brokerage var transaction_charges = roundToTwo((((buy * quantity) + (sell * quantity)) * 0.00325) / 100); //Transaction Charges var gst = roundToTwo((((transaction_charges * 18) / 100) + (brokerage * 18) / 100)); //GST var total_charges = roundToTwo(brokerage + transaction_charges + gst); bep_pnl = roundToTwo(((sell - buy) * quantity) - total_charges); text += "<br />New Buy " + buy + " and profit " + bep_pnl; buy = roundToTwo(buy - 0.01); } var bep = roundToTwo(sell - buy); $('#demo').text(bep); document.getElementById("testing").innerHTML = text; } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <p id="demo"></p> <h1 id="testing"></h1> 

運行上述代碼時, BEP的結果為0.04 但是應該為0


我認為這是一個技術問題(也許在while循環中 ),因為公式正確。 (可以在<h1>進行交叉檢查

這是額外的buy = roundToTwo(buy - 0.01); while循環終止之前 ,給出的結果是.04。 您需要在循環的開始而不是結束時減少購買。 設置buy = sell ,然后再進入,然后移動buy = roundToTwo(buy - 0.01); 到循環的開始。

var bep = roundToTwo(sell - buy);的結果將是0.03 var bep = roundToTwo(sell - buy); ,與New Buy 9.97 and profit 0.01的輸出一致。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM