因此我被要求编写一个应用程序,使供应商能够根据他标记项目的百分比来查看他可以期望获得的收入。允许用户输入批发商品价格。以表格形式显示标记为5%,6%,7%,8%,9%和10%的项目的零售价格。我在一个Windows窗体应用程序中编写了这个程序,但是我在将一个类的for循环连接到另一个类的表单输出时遇到了麻烦。这是我的代码: 这是我的商务舱:
namespace RetailPrice
{
// Business Class
class Wholesale
{
decimal wholesale;
//Constructor
public Wholesale(decimal sale)
{
this.wholesale = sale;
}
public string GetWholesalePrice(string priceIn)
{
decimal price = decimal.Parse(priceIn);
string priceOut = string.Empty;
//for loop for the class wholesale to set
for (int i = 5; i < 11; i++)
{
decimal percent = i / 100;
decimal wsale = price * (decimal.Parse(i.ToString()) / decimal.Parse("100"));
priceOut += string.Format(" Markup of {0} percent is {1:c}\n", i, (decimal.Parse(i.ToString()) / decimal.Parse("100")));
}
return priceOut;
}
}
}
这是我的表单类:
namespace RetailPrice
{
public partial class WholeSalePrice : Form
{
public WholeSalePrice()
{
InitializeComponent();
}
private void BtnCalculate_Click(object sender, EventArgs e)
{
// Set the intial value for Whole sale price
Decimal wholesalePrice = 0;
wholesalePrice = Decimal.Parse(TxtWholeSale.Text);
//Create an instance of Wholesale that takes wholesaleprice
Wholesale wsale = new Wholesale(wholesalePrice);
LblOutput.Text = (wholesalePrice) + wsale.GetWholesalePrice(TxtWholeSale.Text);
}
}
以下是我的表单:My Form
非常感谢任何帮助。我不是最好在这个网站上发布问题,并且已经阅读了如何发表一篇好文章,但是关于如何改进我的帖子的任何建议都非常受欢迎。 我需要表单从for循环中的计算发布标记。我认为这是需要完成的地方。
// Set the intial value for Whole sale price
Decimal wholesalePrice = 0;
wholesalePrice = Decimal.Parse(TxtWholeSale.Text);
//Create an instance of Wholesale that takes wholesaleprice
Wholesale wsale = new Wholesale(wholesalePrice);
以下是输出结果:The output
所以我的计算不起作用,因为我需要他从中获得的金额,就像你每卖出5美元一样获得5美元
答案 0 :(得分:1)
您的代码存在一些问题。
public string GetWholesalePrice(string priceIn)
{
decimal price = decimal.Parse(priceIn);
string priceOut = string.Empty;
//for loop for the class wholesale to set
for (int i = 5; i < 11; i++)
{
decimal percent = i / 100m;
decimal wsale = price * percent;
priceOut += string.Format(" Markup of {0} percent is {1:c}\n", i, wsale);
}
return priceOut;
}
5 / 100 = 0
。我将其替换为100m(m表示十进制类型),以便正确计算。decimal.TryParse(...)
进一步改善这一点,以处理priceIn不是有效数字的情况。