我正在编写一个代码,我需要在利润率%和标记%
之间进行转换例如,如果我输入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()
感谢您的帮助
答案 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