首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正则表达式仅允许数字字符加上符号、点和E

正则表达式仅允许数字字符加上符号、点和E
EN

Stack Overflow用户
提问于 2012-01-04 20:27:02
回答 2查看 543关注 0票数 1

我有一个应该只接受数字的TextBox (它们可以是简单的intfloat,功率因数为E)。

因此,一些有效的例子是:

代码语言:javascript
复制
1
+1.1
0
.1
1E-1
1e-2
-1.66
-6e-10

无效示例:

代码语言:javascript
复制
  E-1

通常,它应该以数字或+和-号或点开头。

然后,我将把它放在TextChanged事件中,这样就没问题了。

代码语言:javascript
复制
 textBox.Text = Regex.Replace(textBox.Text, @"[\d]", ""); //so useless!
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-04 20:41:15

如果你想使用你的指数,试试这个(一定要添加using System.Globalization;):

代码语言:javascript
复制
decimal value;
if(Decimal.TryParse(textBox.Text, NumberStyles.Float, CultureInfo.CurrentCulture, out value))
{
    textBox.Text = value.ToString();
}
票数 3
EN

Stack Overflow用户

发布于 2012-01-04 20:34:40

为什么要使用Regex呢?

代码语言:javascript
复制
float f;
bool isNumber = Single.TryParse(textbox.Text, out f);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8726855

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档