/// <summary>
/// 提取字符串中的数值,把字符串中的所有数字组合并,如有多个小数将会返回第一个小数点前面的整数部分,如:"ABC#123.56@AS8.9测试"返回123
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static double ExtractValue(string str)
{
var temp = Regex.Replace(str, @"[^\d.\d]", "");
if (temp.Length > 2 && temp.Count(c => ".".Contains(c)) > 1)//如果位数超过2位并且超过两个小数点
{
return double.Parse(temp.Substring(0, temp.IndexOf(".")));
}
//如果是数字,则转换为double类型
if (Regex.IsMatch(temp, @"^[+-]?\d*[.]?\d*$"))
return double.Parse(temp);
else
return 0;
}
06-08
1万+

07-05
1万+
