如何解析与DateTime.TryParseExact等效的数字?

时间:2010-08-30 21:23:58

标签: c#

我有一个要求客户端需要验证一堆excel电子表格。其中一个验证规则是该字段必须是一个看起来像'x.xx'的数字(因此'3.00'有效,'3.000'不是)。这应该像Double.TryParseExact(s,“#。##”,out number)一样容易,但我想它不存在。有没有办法在不使用正则表达式的情况下完成这项工作?客户端正在使用DSL,我不想让他们学习正则表达式。

1 个答案:

答案 0 :(得分:3)

我想你可以这样做吗?

public static bool TryParseExact(string text, string format, out double value)
{
    if (double.TryParse(text, out value))
    {
        // basically, make sure that formatting the result according to the
        // specified format ends up providing the same value passed in
        return text == value.ToString(format);
    }

    return false;
}

这只是一个想法;说实话,我并没有完全考虑过它。