C#输入验证检查正数

时间:2011-10-08 22:06:54

标签: c# string decimal validation tryparse

我正在学习C#并遇到一个问题,我必须检查用户是否输入了VALID货币金额。即没有字母字符,也没有负数。

到目前为止,我已完成程序中的所有内容,除了特定的输入验证。

将输入转换为数字值我有: originalRate = Double.Parse(txtValue.Text);

然后低于我难倒,我一直在搞乱: bool isValid = Double.TryParse(txtValue.Text,);

我遇到的常见的编译器运行时错误是输入字符串的格式不正确。据我所知,这就是我要检查的内容。 我知道这是超级基本的东西(这是我的第一个C#类)。我已经搜索了堆栈溢出,此时没有一个类似的解决方案对我有意义。我被告知使用十进制类的 TryParse 方法,但感觉好像我使用它错误且不完整。

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:3)

以下是您使用double.TryParse()

的方式
double d;
bool isValid = Double.TryParse(txtValue.Text, out d);

MDSN页面有一些例子。

要解析货币字符串,您可以使用double.TryParse()

的第二次重载

并尝试类似

的内容
double d;
bool isValid = double.TryParse(txtValue.Text, NumberStyles.Currency, CultureInfo.GetCultureInfo("en-US"), out d);

答案 1 :(得分:2)

double result;

if (double.TryParse(txtValue.text, out result))
{
    // The user typed a valid number.
    // Do something with it (it’s in “result”).
}
else
{
    // The user typed something invalid.
    MessageBox.Show("Please type in a number.");
}
相关问题