如何在利润率%和标注%之间进行转换

时间:2015-01-05 02:00:52

标签: c# margin formula markup

我正在编写一个代码,我需要在利润率%和标记%

之间进行转换

例如,如果我输入50%利润率,则标注百分比应为100%。如果我输入75%的利润率,那么加价%将= 300%。

我找到了这个给出公式的链接 http://larig.wordpress.com/2010/07/06/convert-between-margin-and-mark-up/

|margin| = 1 - 1 / (1 + |markup|)
|markup| = 1 / (1 - |margin|) - 1

当我尝试应用公式时,我没有得到预期的结果。 (此公式从未生成,并且计算不正确。)

以下是我使用c#

所做的事情
InputMarkup.Text = Math.Abs((1 / (1 - Math.Abs(margin) - 1))).ToString();

我也试过这个

InputMarkup.Text = Math.Abs((1 / (1 - Math.Abs(margin))) - 1).ToString()

感谢您的帮助

3 个答案:

答案 0 :(得分:1)

我明白了。 公式不正确

这是正确的公式

Converting Between Markup vs Margin

  

如果您知道标记或边距并需要知道另一个,那么以下公式将帮助您   计算。加价=保证金/(1 - 保证金)

     

因此,例如,如果保证金为33.33%或0.3333,则标记为   由Markup给出= 0.3333 / 1 - 0.3333 = 0.3333 / 0.6667 = 0.50或50%   并且,保证金=标记/(1 +标记)

     

因此,例如,如果标记为50%或0.5,则边距由下式给出   余量= 0.5 /(1 + 0.5)= 0.5 / 1.5 = 0.3333或33.33%

答案 1 :(得分:0)

这非常简单。在您的术语中,标记=利润/(1 - 利润)。请查看您的示例:0.50 /(1 - 0.50)= 1.00是正确的,0.75 /(1 - 0.75)= 3.00也是正确的。

答案 2 :(得分:0)

它们必须采用分数格式... 示例标记(25%)和保证金(20%) 除以100.标记(1/4)和边距(1/5)。 从标记到边缘(1 + 4 ---> 5),则上部分,在这种情况下,1处于相同位置---> 1/5