如何乘以数量并记录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 而不是双精度数。
我是 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 而不是双精度数。