Visual C# 异常处理(仅输入数字和“。”)[重复]

Posted

技术标签:

【中文标题】Visual C# 异常处理(仅输入数字和“。”)[重复]【英文标题】:Visual C# Exception Handling(input only numbers and ".") [duplicate] 【发布时间】:2013-11-29 09:16:06 【问题描述】:

我目前正在开发我的 Windows 控制台应用程序。有没有办法让用户在TextChanged部分内的文本框中只输入数字和一个点?

private void Input_TextChanged(object sender, TextChangedEventArgs e)


您的帮助将不胜感激。

【问题讨论】:

***.com/questions/463299/… 【参考方案1】:

这是一种方法(在 MSDN TryParse 上查看更多信息):

  string inValue="123.1"; //for example
  decimal number;
  bool result = decimal.TryParse(inValue, out number);
  if (result)
  
     //The entered number is valid number (1 decimal)         
  
  else
  
     //bad input number.
     if (inValue == null) inValue = ""; 
     Console.WriteLine("Attempted conversion of '0' failed.", inValue);
  

【讨论】:

如何照顾当前的文化?在德国,例如小数点分隔符是 , 而不是 . 另外,Int32 听起来不像解析 十进制 数字的方法。 @Uwe Keim,你是对的。我不确定文化是否是问题的一部分。我假设当前的文化将是默认的。我想有人可能会使用 System.Globalization 将特定文化设置为应用程序中的全局设置。

以上是关于Visual C# 异常处理(仅输入数字和“。”)[重复]的主要内容,如果未能解决你的问题,请参考以下文章

即使在 C# 代码中处理,InvalidOperationException 也会导致 Visual Studio 中断

用于区分 Visual Studio 2012 和 2010 的 C# 预处理器指令或条件?

验证文本框是不是仅包含数字

异步/等待异常和 Visual Studio 2013 调试输出行为

c#在visual studio开发环境下设计一个闹钟 小界面程序

C# 验证事件:测试空白文本框和数字验证?