Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
十进制数的C#正则表达式_C#_Regex_Textbox_Decimal - Fatal编程技术网

十进制数的C#正则表达式

十进制数的C#正则表达式,c#,regex,textbox,decimal,C#,Regex,Textbox,Decimal,我正在尝试为文本框创建一个正则表达式,它应该只允许数字或小数。例如,我应该能够输入10和10350 我将使用的小数分隔符是“”,小数长度不需要限制 有人知道我如何制作这样的正则表达式吗?如果你想在你的项目中的很多地方使用它,你可以制作新的TextBoxcontrol,它只接受数字,并在点击“.”时制作“,”,当它失去焦点时,你可以对它进行测试()如果您要在项目中的许多地方使用它,您可以使新的TextBoxcontrol只接受数字,并在单击“.”时生成“,”,当它失去焦点时,您可以对其进行测试()

我正在尝试为文本框创建一个正则表达式,它应该只允许数字或小数。例如,我应该能够输入10和10350

我将使用的小数分隔符是“”,小数长度不需要限制


有人知道我如何制作这样的正则表达式吗?

如果你想在你的项目中的很多地方使用它,你可以制作新的TextBoxcontrol,它只接受数字,并在点击“.”时制作“,”,当它失去焦点时,你可以对它进行测试()

如果您要在项目中的许多地方使用它,您可以使新的TextBoxcontrol只接受数字,并在单击“.”时生成“,”,当它失去焦点时,您可以对其进行测试()只需使用
decimal.TryParse
double.TryParse

只需使用
decimal.TryParse
double.TryParse

我也会选择
decimal.TryParse()
,但如果你真的需要一个正则表达式,那么类似的东西应该可以用:
(\d+(,\d*))
我会选择
decimal.TryParse()
也是,但是如果你真的需要一个正则表达式,那么像这样的东西应该可以工作:
(\d+(,\d*)?)

这是你的正则表达式:

^[\d]+,?[\d]*$
检查它是否与文本框中的内容匹配。

这是您的正则表达式:

^[\d]+,?[\d]*$

检查它是否与文本框中的内容匹配。

为什么不直接使用decimal.TryParse或double.TryParse?@Shurdoof,你应该将其作为答案。为什么不直接使用decimal.TryParse或double.TryParse?@Shurdoof,你应该将其作为答案。将匹配字符串
,,,
将匹配字符串
,,,,,,1,,,
别忘了锚定它,例如:
^\d+(?:,\d+)\z
@Qtax,很好的观点,实际上还不太清楚像
4、
,56
这样的东西是否也应该匹配。看看相关的主题,有一个类似的问题正在被回答,别忘了锚定它,例如:
^\d+(?:,\d+)\z
@Qtax,很好的观点,事实上,不太清楚像
4、
,56
这样的东西是否也应该匹配。从相关的话题来看,有一个类似的问题正在被回答