如何验证十进制数的精度恰好为1

本文关键字:精度 十进制数 何验证 验证 | 更新日期: 2023-09-27 18:08:19

我需要验证用户输入到文本框是精度恰好为1的十进制数吗?

  • 如果用户输入1则无效

  • 如果用户输入0则无效

  • 如果用户输入1.0则为有效

  • 如果用户输入1.1则有效

  • 如果用户输入1.11则无效

  • 如果用户输入100.1则有效

如何使用c# (.net 3.5)实现这一点?

这是一个WPF文本框。

谢谢,迈克

如何验证十进制数的精度恰好为1

对于非正则表达式的实现方式:

string input;
decimal deci;
if (input.Length >=3 && input[input.Length - 2].Equals('.') && Decimal.TryParse(input , out deci))
{
    // Success
}
else
{
    // Fail
}

对我来说,最简单的方法似乎是使用正则表达式。通过将用户输入解释为字符串,您可以将其与'[0-9]+'.[0-9]'

这样的内容进行比较

是,正则表达式是检查条件的最佳方法:

对于确切的NNNN。N (1234.5) use:

/^'d{4}'.'d$/

用于可选的。n(1234)。1234.5) go with:

/^'d{4}('.'d?)?$/

对于NNNN大小以内的数字。N(1.5 12.5 123。1234 1234.5) go with:

/^(?=.*'d)'d{0,4}('.'d?)?$/

如果您希望在开头使用+/-,则将^替换为^[-+]?