Cannot implicitly convert type 'string' to 'double' Issue

前端 未结 5 1455
别那么骄傲
别那么骄傲 2020-12-20 10:17
    private void updateButton_Click(object sender, EventArgs e)
    {
        //custID.Text = customers[id].ID.ToString();
        customers[id].Name = custName.Text         


        
5条回答
  •  遥遥无期
    2020-12-20 10:23

    Assuming you know they contain a properly formatted number, what you want is to parse the numeric value contained in each of your strings and assign it to a double type variable (which involves transforming a representation of your number as a string into another of different binary content: a double), not cast it (which doesn't). Try:

    customers[id].Balance = Double.Parse(custBal.Text);
    customers[id].Year_used =  Double.Parse(custYear.Text);
    

    Or, if you want to test the parsing's success against a returned boolean instead of doing exception handling to test for a FormatException, you can use TryParse instead:

    if (!Double.TryParse(custBal.Text, customers[id].Balance))
       Console.WriteLine("Parse Error on custBal.Text");
    if (!Double.TryParse(custYear.Text, customers[id].Year_used))
       Console.WriteLine("Parse Error on custYear.Text");
    

    More info:

    http://msdn.microsoft.com/en-us/library/t9ebt447%28v=vs.80%29.aspx

    http://msdn.microsoft.com/en-us/library/994c0zb1.aspx

提交回复
热议问题