问题描述
if(textBox1.Text==null){textBox1.Text=“0”;}floata=Convert.ToSingle(textBox1.Text);
解决方案
解决方案二:
if(textBox1.Text==""){textBox1.Text=“0”;}floata=Convert.ToSingle(textBox1.Text);
textbox1.text不可能是null的最多就是""
解决方案三:
textbox1.text未被赋值前默认为空(“”),if语句没有执行,故空值转换为Single时会报错!!
解决方案四:
if(string.IsNullOrEmpty(textBox1.Text)){textBox1.Text=“0”;}floata=Convert.ToSingle(textBox1.Text);
解决方案五:
floata;doubleb=float.TryParse(textBox1.Text,refa);if(!b)a=0.0f;
解决方案六:
保险做法:if(textBox1.Text==null||textBox1.Text==""){textBox1.Text=“0”;}floata=Convert.ToSingle(textBox1.Text);
解决方案七:
引用5楼olly的回复:
保险做法:if(textBox1.Text==null||textBox1.Text==""){textBox1.Text=“0”;}floata=Convert.ToSingle(textBox1.Text);
textBox.Text属性什么时候返回null过?
解决方案八:
if(textBox1.Text==""){textBox1.Text=“0”;}floata=Convert.ToSingle(textBox1.Text);
解决方案九:
建议使用float.TryParse(),如果觉得麻烦可以利用float.TryParse()对string扩展一个ToFilat()这样的方法
解决方案十:
publicstaticfloatToFloat(thisstringstr){floati=0f;float.TryParse(str,outi);returni;}
解决方案十一:
解决方案十二:
引用7楼zjpaybc的回复:
if(textBox1.Text==""){textBox1.Text=“0”;}floata=Convert.ToSingle(textBox1.Text);
+1,这样做应该可以了。不过最好是对Text进行格式化trim()一下,去掉前后空格,textBox1.Text.Trim()=="",不然在文本框输入一个空格,还是可能会出错。
解决方案十三:
if(textBox1.tex==""||textBox1.text.Trim().length==0){textBox1.Text=“0”;}floata=Convert.ToSingle(textBox1.Text);
解决方案十四:
#4方法合适
解决方案十五:
还是应该用4#的方法,让编译器告诉你到底能不能转,而不是你自己去做各种判断谁知道用户到底会输入什么奇葩的字符
解决方案:
引用4楼caozhy的回复:
floata;doubleb=float.TryParse(textBox1.Text,refa);if(!b)a=0.0f;
+1
解决方案:
初始值还是“”好呗
解决方案:
if(textBox1.Text==null){textBox1.Text=“0”;}floata=Convert.ToSingle(textBox1.Text);if判读没有进去,底下对一个空的值做类型转换就会失败!
解决方案:
不是null是""或者string,empty
解决方案:
最好开始还是给值赋个“”吧
解决方案:
//if(textBox1.Text==null)//{//textBox1.Text=“0”;//}floata=0;float.TryParse(textBox1.Text,outa);
解决方案:
用TryParse吧