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