努力使自己成为一个小型项目,可以在不需要卖价的情况下计算毛利。任何人都可以解释为什么这会被标记下来?我们都需要帮助......
我目前有4个文本框,成本,销售,毛利润率,加价
我通常如何做到excel是=Cost/(1-Gp Markup)
,这将返回$ 14.99卖出@ 12.74美元成本,例如@ 15%
我的代码如下所示,我们将不胜感激:)
private void button2_Click(object sender, EventArgs e)
{
double cost = Convert.ToDouble(costTextBox.Text);
double grossmargin = Convert.ToDouble(grossmarginTextBox.Text);
double grossSellFinal = cost + (cost * grossmargin)/100;
// This returns $14.65 which is a mark up not gross profit
sellTextBox.Text = grossSellFinal.ToString();
}
我也试过这个
private void button2_Click(object sender, EventArgs e)
{
double cost = Convert.ToDouble(costTextBox.Text);
double grossmargin = Convert.ToDouble(grossmarginTextBox.Text);
double grossSellFinal = cost / (1 - grossmargin);
//This returns a sell of -0.91
sellTextBox.Text = grossSellFinal.ToString();
}
答案 0 :(得分:0)
你的两个计算做了很多不同的事情:
一个是成本* 115% 一个是成本/ 85%
你的第二个例子失败了,因为你有1500%的保证金(你没有除以100)
如果您在第二个例子中使用“0.15”作为毛利率,您应该卖出“14.9882352941176”
答案 1 :(得分:0)
基于您的公式,卖出应等于成本/(1 - 毛利率),其中毛利润率是0到1之间的小数):
private void button2_Click(object sender, EventArgs e)
{
decimal cost = Convert.ToDecimal(costTextBox.Text);
decimal grossmargin = Convert.ToDecimal(grossmarginTextBox.Text);
decimal grossSellFinal = cost / (1 - grossmargin);
sellTextBox.Text = grossSellFinal.ToString();
}
如果您输入grossmargin
作为0到100之间的值,则应将该值除以100:
private void button2_Click(object sender, EventArgs e)
{
decimal cost = Convert.ToDecimal(costTextBox.Text);
decimal grossmargin = Convert.ToDecimal(grossmarginTextBox.Text);
decimal grossSellFinal = cost / (1 - grossmargin/100);
sellTextBox.Text = grossSellFinal.ToString();
}
同样,如果输入非法值(例如grossmargin
= 1),也建议抛出某种错误/警告:
private void button2_Click(object sender, EventArgs e)
{
decimal cost = Convert.ToDecimal(costTextBox.Text);
decimal grossmargin = Convert.ToDecimal(grossmarginTextBox.Text);
if (grossmargin > 100)
{
sellTextBox.Text = "Error message here";
}
else
{
decimal grossSellFinal = cost / (1 - grossmargin/100);
sellTextBox.Text = grossSellFinal.ToString();
}
}
我不确定正确的会计方式来处理除以零的情况,所以上面只是一个例子。我将把实际的实现留给你。