A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 卢京 中级黑马   /  2012-9-20 10:19  /  1178 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

做一个简单的计算器,已经实现用户无法输入非数字的字符,可以在第一位输入负号,可以输入小数,但是无法实现去掉非小数前面的0,如下图
这个要判断几个情况,
①0可以出现在小数上,如:0.0001
②0可以出现在非0数之后
所以,就要判断小数点出现的位置,如果有小数点,0可以出现在第一位,如果没有,0不能出现在第一位。如果有小数点,非0数之后的0就不能出现,也就是说你能出现0.1000,这个如何实现
那我要是第一位输了个0,第二位不输小数点,那第二位输的非0数要替代第一位输的0,这个如何实现

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

2 个回复

倒序浏览
在Btn.Click 里面写一个textbox.text=Convert.toDouble(textbox.text).Tostring这个吧。在用一下异常处理,应该就能解决

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 杨进 于 2012-9-20 16:13 编辑

找到textBox的Leave事件,双击然后添加如下代码:
private void textBox1_Leave(object sender, EventArgs e)
        {
            double num1 = Convert.ToDouble(textBox1.Text);
            textBox1.Text = num1.ToString();
        }
那么当光标离开这个控件时,事件就会被触发

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马