我試圖想出一個更好的方式來計算給定成本價格,單位價格(銷售價格)和稅務信息時的保證金百分比。計算成本價格,單位價格和稅務信息的保證金百分比的更有效方法
下面的代碼有效;但在任何方面都不是很有效率。它只是從-100 - > 1000%的所有邊際百分比中循環,當找到解決方案時,它會停止查找並跳出循環。
我的目標是沒有長時間的運行循環,而是直接計算它而不是通過錯誤進行試驗。它如此棘手的原因是因爲稅收設置的方式。這不僅僅是一個百分比。查看有關如何計算稅款的信息的評論。 (累計稅)
var cost_price = 100;
var unit_price = 133.10;
//Loop over -100 -> 1000 percent at .01 intervals to try to find margin percent...Not very good
for(var k=-100;k<1000;k+=.01)
{
var margin_percent = k;
var marked_up_price_before_tax = cost_price * (1+(margin_percent/100));
//First tax is 10%...This value is dynamic...could be a different percent
var first_tax = (marked_up_price_before_tax*(10/100));
//Second tax is 10% cumulative...This value is dynamic.. Could be a different percent
var second_tax = (marked_up_price_before_tax + first_tax) *10/100);
var margin_price = marked_up_price_before_tax + first_tax + second_tax;
//Make 2 decimals for comparison purposes
margin_price = parseFloat(Math.round(margin_price * 100)/100).toFixed(2);
if (margin_price == unit_price)
{
//FOUND IT!
margin_percent = parseFloat(k);
break;
}
}
你的問題不應該是一個謎。以有組織的,明確定義的方式提供細節,而不是在任意代碼中隨機無意義的評論。 – Amit
我不知道我如何能更好地解釋這一點。我刪除了所有不必要的代碼,並以我知道的最佳方式顯示代碼。我正在循環-100% - > 1000%以試圖找到保證金百分比。 –
然後讀[問]。 – Amit