c#中在textbox.text只能输入一个小数点(“.”)

首位不能是小数点(或者首位输入小数点后自动在前面加“0”)之后再有小数点输入自动忽略这个操作... 首位不能是小数点(或者首位输入小数点后自动在前面加“0”)之后再有小数点输入自动忽略这个操作 展开
 我来答
碎片知识杂货铺
推荐于2017-10-02 · 碎片知识杂货铺,仅供参考
碎片知识杂货铺
采纳数:458 获赞数:4216

向TA提问 私信TA
展开全部
只能输入数值型字符如下:
<input name="" type="text" onafterpaste="if(isNaN(value))execCommand('undo')" onkeyup="if(isNaN(value))execCommand('undo')"/>
liujinlongg
2012-01-11
知道答主
回答量:55
采纳率:0%
帮助的人:20.9万
展开全部
用js 检索和判断就行
indexOf() 和 编写便利函数即可完成
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
骁瑶小神仙
2012-01-11 · TA获得超过991个赞
知道小有建树答主
回答量:521
采纳率:0%
帮助的人:360万
展开全部
添加两个事件。
1.给textbox添加KEYPRESS事件。(只能输入数字和一个小数点)
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (!Char.IsNumber(e.KeyChar) && !Char.IsPunctuation(e.KeyChar) &&
!Char.IsControl(e.KeyChar))
{
e.Handled = true;
}
else if (Char.IsPunctuation(e.KeyChar))
{
if (((TextBox)sender).Text.LastIndexOf('.') != -1)
{
e.Handled = true;
}
}
else
{
e.Handled = false;
}
}
2.添加text的textchanged 。(首位不为0和首位为 . 时自动前面加个0)
private void textBox1_TextChanged(object sender, EventArgs e)
{
if (textBox1.Text.Substring(0) == Convert.ToString(0))
{
this.textBox1.Text = "";
}
else if (textBox1 .Text .Substring (0)==".")
{
this.textBox1 .Text ="0.";
textBox1.SelectionStart = 2;
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
774562987
2012-01-12 · TA获得超过871个赞
知道答主
回答量:128
采纳率:0%
帮助的人:59.5万
展开全部
不是很清楚楼主的意思,我按照现在我想的回答下,如果回答错误请无视我,毕竟我是新手!
if(textbox.text.SubString(0,1).Equals("."))
{
MessageBox.Show("首位不能为.");
textbox.text=string.Empty;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wuhuilong123
2012-01-11 · TA获得超过327个赞
知道小有建树答主
回答量:574
采纳率:0%
帮助的人:347万
展开全部
JS实现
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式