c# - 无法将 baseprice 输出到小计
问题描述
我试图创建一个计算器,将基价加起来,添加任何单选按钮/复选标记,加上税,并将结果放入小计中。为什么我的基本价格文本框不能出现在小计文本框中?我尝试了几种方法,但它们似乎不起作用。有什么建议吗?这是我的代码:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void txttradein_TextChanged(object sender, EventArgs e)
{
lblTradein.Text = txtTradeIn.Text;
}
private void btnCalculate_Click(object sender, EventArgs e)
{
double BasePrice = double.Parse(txtBasePrice.Text);
try
{
if (BasePrice < 0)
{
MessageBox.Show("Error");
txtBasePrice.Focus();
txtBasePrice.SelectAll();
}
}
catch (FormatException)
{
txtBasePrice.SelectAll();
MessageBox.Show("Numbers Only");
}
try
{
double TradeIn= double.Parse(txtTradeIn.Text);
if(TradeIn < 0)
{
MessageBox.Show("Error");
txtTradeIn.Focus();
txtTradeIn.SelectAll();
}
}
catch (FormatException)
{
txtTradeIn.SelectAll();
MessageBox.Show("Numbers Only");
}
double stereoPrice = 0, leatherPrice = 0, navPrice = 0;
if (chkStereo.Checked) {
stereoPrice = 425.76;
} if (chkLeather.Checked){
leatherPrice = 987.41;
} if (chkComputer.Checked){
navPrice = 1741.23;
}
double exteriorFinish = 0;
if(radPearlized.Checked)
{
exteriorFinish = 345.72;
}
else if (radCustom.Checked)
{
exteriorFinish = 599.99;
}
else
{
exteriorFinish = 0;
}
double subTotal = stereoPrice + leatherPrice + navPrice + exteriorFinish;
double txtRate = 0.08, tax = 0;
tax = subTotal * txtRate;
txtTax.Text = tax.ToString();
txtSubtotal.Text = subTotal.ToString();
}
}
}
解决方案
请在 try 块之外声明基本价格变量。该变量在 try 块内声明,因此无法在外部访问。
此外,您甚至没有在计算中使用基本价格变量。见下文 -
double subTotal = stereoPrice + leatherPrice + navPrice + exteriorFinish;
推荐阅读
- java - Maven 构建战争某些类不包括在内
- go - 从 YAML 配置文件中仅加载一个部分
- sqlite - Flutter - 从数据库中获取记录并在 ListView Builder 中显示
- java - Spring WS 请求 GZIP 压缩
- spring - RestControllerAdvice 不适用于自定义注释
- angular - TSLint 和 VSCode 在 .ts 文件中未显示红线
- java - Class.ForName("com.microsoft.sqlserver.jdbc.SQLServerDriver") 抛出 ClassNotFoundException
- arrays - 在 Matlab 中动态更新 DataTable 的标题
- javascript - 在包含部分的 for 循环中将部分添加到第一个和最后一个
- asp.net - 如何获取基本 URL 以重定向到 url/home?