(\d+(?:\.\d+)?)\D*$ - 这个正则表达式从任何带小数点的字符串中提取价格,但我只想在有小数点时提取小数点有些东西但不是零,比如当有 300.50 或 300.25 时应提取小数点,但如果有 300.00 则不应提取小数点,怎么办?
这没问题,或者有更好的解决方案吗?
Match match = Regex.Match(cellRecord, @"(\d+(?:\.\d+)?)\D*$");
price = match.Groups[1].Value.ToString().Trim();
if (price.Substring(price.Length - 3, 3) == ".00")
{
price = price.Replace(".00", "");
}
请您参考如下方法:
我还会研究使用具有正确文化信息的 Double.Parse - 这通常比使用您自己的正则表达式更简单、更稳定。
