【问题标题】:How to do a regex that requires or not a point between 2 numbers?如何做一个需要或不需要两个数字之间的点的正则表达式?
【发布时间】:2012-07-24 12:06:49
【问题描述】:

我希望实现一个需要或不需要两个数字之间的点的正则表达式。 我想管理 int 和 double 数字:用户可以输入一个数字,例如“1”或“1.5” 谢谢。

【问题讨论】:

标签: regex replace


【解决方案1】:

使用这个正则表达式:

d+([,.]d+)?

【讨论】:

  • 注意这样可能会出现前导0:
【解决方案2】:

以下将完成这项工作:

^([1-9][0-9]*|0)(\.[0-9]+)?$

编辑

  • 固定前导零大小写
  • demo

【讨论】:

  • 嗨,我在 Visual Studio 上,如果我输入“5.0”,我会获得非常高的值;如果我输入“5”,我将获得正确的值。我从一个字符串做一个 double.Parse 。是这个原因吗?
  • 我添加了一个演示,“5”和“5.0”字符串匹配。你在说什么样的高价值?你能发布你的代码吗?
  • 我想我发现了这个错误。如果我输入“5”,则消息框会显示“5”。如果我输入“5.0”,它会显示“50”。我以这种方式转换了在文本框中输入的字符串:double.Parse(myinput.Text);
猜你喜欢
  • 2014-05-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多