这是一个奇怪的问题,在我的大多数系统上,这段代码运行良好:
var separator = Convert.ToChar(CultureInfo.CurrentCulture.NumberFormat.CurrencyDecimalSeparator);
DA = Math.Round(double.Parse(M.Groups[1].Value.Replace('.', separator))).ToString();
它返回一个数字,例如:12.6754645644所以我们只是将M.Groups [1]。值归为 12 ,例如,尽管它适用于1中的大多数系统错误:
System.FormatException:输入字符串的格式不正确。 at System.Number.ParseDouble(String value,NumberStyles options,NumberFormatInfo numfmt)
奇怪的是,它适用于我测试过的大多数系统,我在这里缺少什么?