如何乘以数量并记录C#

How to multiply quantity and record C#

我是 c# 和应用程序开发的新手。我试图让列表视图中的值乘以用户在文本框中输入的数量。我的代码如下:

    protected override void OnNavigatedTo(NavigationEventArgs e)
    {
        Menu.PassedData data = e.Parameter as Menu.PassedData;

        if (data != null) //If data is not 0 
        {
            PassedData.Add(data); //Increment data in list view

            double tempTotalValue = 0;
            foreach (var record in PassedData)
            {
                tempTotalValue = tempTotalValue + record.Value;
                Totaltxt.Text = String.Format(new CultureInfo("en-GB"),"{0:C}", tempTotalValue);

                textBox3.Text = string.Format("{0:Q2}", record.Value * double.Parse(quanttextBox.Text));    //The code to multiply user input of quantity by each Value produced
            }

            TotalValue = tempTotalValue;
        }
    }

列表视图中显示每个项目值的文本框

  <TextBox Grid.Column="0" Text="{Binding Value}" IsReadOnly="True" FontSize="15" />

显示总值的文本框

<TextBox x:Name="Totaltxt" HorizontalAlignment="Left" Height="45" Margin="250,461,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="140" TextChanged="Totaltxt_TextChanged" Text="{Binding TotalValue}" />

运行

时出错
An exception of type 'System.FormatException' occurred in mscorlib.ni.dll but was not handled in user code

疑难解答提示

When converting a string to datetime, parse the string before putting each variable in the date and time object

我想做的是将列表视图中生成的每个项目的值乘以用户输入,并相应地更新总值,因此基本上是数量 * 列表视图中的每个值。希望这个问题是有道理的。

在尝试在计算中使用之前,将用户输入转换为局部变量会更安全:

double result;
if (double.TryParse(quanttextBox.Text, out result))
{
    textBox3.Text = (record.Value * result).ToString();
}

那么如果用户没有输入有效的数值,您的代码就不会失败。

但是,错误的原因似乎是您试图将结果格式化为 DateTime 而不是双精度数。