限制十进制TryParse的值

时间:2013-12-03 20:20:14

标签: c# visual-studio-2010

我有以下代码:

Decimal.TryParse("1.0e-50", NumberStyles.Float,CultureInfo.CurrentCulture.NumberFormat, out val) 

我想将其限制为e-45。有没有办法在不使用正则表达式的情况下执行此操作?我用谷歌搜索它,但我得到的最好的方法是正则表达式。

2 个答案:

答案 0 :(得分:2)

首先解析该值,然后将其与最小值/最大值进行比较,因为没有比正则表达式更好的方法来检查字符串包含的十进制值有多大。总而言之,解析更加清晰,高效,我也猜想它更快。

答案 1 :(得分:2)

您应该只是将其解析为十进制而不进行边界检查,然后在将其解析为数值后检查最小值/最大值。在解析字符串之前尝试对字符串进行边界检查只是在寻找麻烦;这将是更多的工作,更容易出错。