如果用户没有在文本框中输入值,我将设置变量设置为0会有点困难,因为变量会在多个表单中传递,如果它以相同的形式存在,那么它会变得棘手会更容易做到。我的代码附在下面。
//in one of my input forms
//runs on button click
if (!string.IsNullOrWhiteSpace(TXTCustomerGrowth.Text))
{
fm.SaveGrowth(Convert.ToDouble(TXTCustomerGrowth.Text));
//fm is instance of class where my methods to save variables are
}
//in class
public void SaveGrowth(double value)
{
customerGrowth = value;
}
public double GetGrowth()
{
return customerGrowth;
}
//in the final summary form
double growth = fm.GetGrowth();
我最初尝试将变量保存为字符串并在需要时转换为double但它抱怨它无法将类型字符串转换为double,所以基本上我想知道的是如何修改第一个if语句所以如果文本框为null,则将变量设置为null(我的问题是我不知道如何在我的情况下这样做,因为变量不是在输入表单中创建的。
修改
我忘了提到它最初运行正常,但我在摘要屏幕上有一个编辑按钮,允许您更改您的值及其删除增长值时的值,并将其留空而不会注册并保持增长与它是什么。
EDIT2:
我的编辑按钮会将您带回到开头,因此您输入的值不会被删除, 按下摘要按钮时,会调用此方法:
public void ShowSummary()
{
calculatingForm.Show();
summaryForm.UpdateForm();
calculatingForm.Hide();
summaryForm.Show();
}
并且在UpdateForm方法中是:
double growth = fm.GetGrowth();
答案 0 :(得分:0)
String Foo = "21"
Double bar;
if(Double.TryParse(Foo, out bar))
{
}
答案 1 :(得分:0)
进一步尝试回答我自己的问题是代码答案:
if (!string.IsNullOrWhiteSpace(TXTCustomerGrowth.Text))
{
fm.SaveGrowth(Convert.ToDouble(TXTCustomerGrowth.Text));
}
else
{
fm.SaveGrowth(0);
}