C#输入字符串格式不正确

时间:2013-11-04 12:01:01

标签: c# string

我无法弄清楚为什么代码格式错误。我在TotalTicketprice = decimal.Parse(overallTicketCostlabel.Text);行以及与之相关的所有内容上都收到了错误。有人知道解决方案吗?

private void calculateButton_Click(object sender, EventArgs e)
{
    int Tickets; //Quantity of Tickets
    decimal Price; //price per ticket
    decimal DiscountPercent = 0.1m; // Discount given
    decimal TotalTicketprice; //Ticket price before discount given
    decimal Discount;

    Tickets = int.Parse(ticketQuantityTextBox.Text);
    Price = decimal.Parse(priceTicketTextBox.Text);
    TotalTicketprice = decimal.Parse(overallTicketCostlabel.Text);
    Discount = decimal.Parse(initialDiscountLabel.Text);

    //Ticket Price
    overallTicketCostlabel.Text = (Price * Tickets).ToString("c");

    //Displays Discount
    initialDiscountLabel.Text = (TotalTicketprice * DiscountPercent).ToString("c");

    //Displays Discounted Total Cost
    discountedCostLabel.Text = (TotalTicketprice - Discount).ToString("c");

2 个答案:

答案 0 :(得分:3)

只是猜测,从你的命名约定开始,应该是这样;

TotalTicketprice = decimal.Parse(overallTicketCostTextBox.Text);

而不是:

TotalTicketprice = decimal.Parse(overallTicketCostlabel.Text);

您可能还希望包含一些验证,以确保在解析它们之前这些是数字。

答案 1 :(得分:0)

 overallTicketCostlabel.Text = (Price * Tickets).ToString("c");

这种格式为货币。这意味着它可能在文本中有一个货币符号。例如$ 100