Skip to main content
 首页 » 编程设计

c#之价格正则表达式

2024年02月03日27birdshome

(\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 - 这通常比使用您自己的正则表达式更简单、更稳定。