C# 输入字符串的格式不正确

dmrtd_53 2014-08-27 09:47:22
if(textBox1.Text==null)
{
textBox1.Text=“0”;
}
float a=Convert.ToSingle(textBox1.Text);
...全文
686 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
渃水 2014-09-16
  • 打赏
  • 举报
回复
用TryParse吧
生财 2014-08-29
  • 打赏
  • 举报
回复
//if(textBox1.Text==null) //{ // textBox1.Text=“0”; //} float a=0; float.TryParse( textBox1.Text, out a);
qq_20167027 2014-08-29
  • 打赏
  • 举报
回复
最好开始还是给值赋个“”吧
dark_yx 2014-08-28
  • 打赏
  • 举报
回复
不是null 是""或者string,empty
zjpaybc 2014-08-28
  • 打赏
  • 举报
回复
if(textBox1.Text=="") { textBox1.Text=“0”; } float a=Convert.ToSingle(textBox1.Text);
金火钬 2014-08-28
  • 打赏
  • 举报
回复
if(textBox1.Text==null) { textBox1.Text=“0”; } float a=Convert.ToSingle(textBox1.Text); if判读没有进去, 底下对一个空的值做类型转换就会失败!
threenewbee 2014-08-28
  • 打赏
  • 举报
回复
引用 5 楼 olly 的回复:
保险做法: if(textBox1.Text==null||textBox1.Text=="") { textBox1.Text=“0”; } float a=Convert.ToSingle(textBox1.Text);
textBox.Text属性什么时候返回null过?
olly 2014-08-28
  • 打赏
  • 举报
回复
保险做法: if(textBox1.Text==null||textBox1.Text=="") { textBox1.Text=“0”; } float a=Convert.ToSingle(textBox1.Text);
uppaway 2014-08-28
  • 打赏
  • 举报
回复
初始值还是“ ”好呗
  • 打赏
  • 举报
回复
引用 4 楼 caozhy 的回复:
float a; double b = float.TryParse(textBox1.Text, ref a); if (!b) a = 0.0f;
+1
於黾 2014-08-28
  • 打赏
  • 举报
回复
还是应该用4#的方法,让编译器告诉你到底能不能转,而不是你自己去做各种判断 谁知道用户到底会输入什么奇葩的字符
  • 打赏
  • 举报
回复
#4 方法合适
Qxiaojie 2014-08-28
  • 打赏
  • 举报
回复
if(textBox1.tex=="" || textBox1.text.Trim().length==0) { textBox1.Text=“0”; } float a=Convert.ToSingle(textBox1.Text);
我叫小菜菜 2014-08-28
  • 打赏
  • 举报
回复
引用 7 楼 zjpaybc 的回复:
if(textBox1.Text=="") { textBox1.Text=“0”; } float a=Convert.ToSingle(textBox1.Text);
+1,这样做应该可以了。 不过最好是对Text进行格式化trim()一下,去掉前后空格,textBox1.Text.Trim()=="",不然在文本框输入一个空格,还是可能会出错。
angel6709 2014-08-28
  • 打赏
  • 举报
回复
星九九 2014-08-28
  • 打赏
  • 举报
回复
public static float ToFloat(this string str)
        {
            float i = 0f;
            float.TryParse(str, out i);
            return i;

        }
星九九 2014-08-28
  • 打赏
  • 举报
回复
建议使用 float.TryParse(),如果觉得麻烦可以利用 float.TryParse() 对string扩展一个ToFilat()这样的方法
threenewbee 2014-08-27
  • 打赏
  • 举报
回复
float a; double b = float.TryParse(textBox1.Text, ref a); if (!b) a = 0.0f;
wangnaisheng 2014-08-27
  • 打赏
  • 举报
回复

        if (string.IsNullOrEmpty(textBox1.Text))
        { 
           textBox1.Text=“0”;
        }
        float a=Convert.ToSingle(textBox1.Text);
grantche 2014-08-27
  • 打赏
  • 举报
回复
textbox1.text未被赋值前默认为空(“”),if语句没有执行,故空值转换为Single时会报错!!
加载更多回复(1)

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧