计算毛利 W/O 卖出
Calculate Gross Profit W/O Sell
尝试为自己制作一个小项目,用于计算毛利而不需要售价。谁能解释为什么这会被降价?我们都曾一度需要帮助..
我目前有 4 个文本框,Cost、Sell、Gross Profit Margin、Markup
我通常是怎么做的 excel 是 =Cost/(1-Gp Markup)
这会 return 卖 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 .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();
}
你的两个计算结果截然不同:
一个是成本*115%
一是成本/85%
你的第二个例子失败了,因为你有 1500% 的边距(你没有除以 100)
如果您在第二个示例中使用“0.15”作为毛利率,您应该卖出“14.9882352941176”
根据您的公式,Sell 应等于 Cost / (1 - Gross Profit Margin),其中 Gross Profit Margin 是 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),也建议抛出某种 error/warning:
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();
}
}
我不确定处理除以零的情况的正确会计方法,所以以上只是一个例子。我会把实际的实现留给你。
尝试为自己制作一个小项目,用于计算毛利而不需要售价。谁能解释为什么这会被降价?我们都曾一度需要帮助..
我目前有 4 个文本框,Cost、Sell、Gross Profit Margin、Markup
我通常是怎么做的 excel 是 =Cost/(1-Gp Markup)
这会 return 卖 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 .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();
}
你的两个计算结果截然不同:
一个是成本*115% 一是成本/85%
你的第二个例子失败了,因为你有 1500% 的边距(你没有除以 100)
如果您在第二个示例中使用“0.15”作为毛利率,您应该卖出“14.9882352941176”
根据您的公式,Sell 应等于 Cost / (1 - Gross Profit Margin),其中 Gross Profit Margin 是 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),也建议抛出某种 error/warning:
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();
}
}
我不确定处理除以零的情况的正确会计方法,所以以上只是一个例子。我会把实际的实现留给你。