使用 double.TryParse() 方法:
这个方法会返回一个布尔值,表示转换是否成功。如果成功,结果会存储在输出参数中。这样可以避免直接抛出异常。
string input = "-3.14";
if (double.TryParse(input, out double result))
{
Console.WriteLine($"Converted value: {result}");
}
else
{
Console.WriteLine("Conversion failed.");
}
或者
m = double.TryParse(MuShu.Text.ToString(), out double result1) ? double.Parse(MuShu.Text.ToString()) : 0;
使用 CultureInfo 类:
有时候,数字格式的差异可能会导致 double.Parse() 方法出错。您可以指定特定的区域性,以确保正确解析负数。
string input = "-3.14";
double result = double.Parse(input, CultureInfo.InvariantCulture);
Console.WriteLine($"Converted value: {result}");
手动检查输入字符串:
自己检查输入字符串,确保它包含合法的负数格式,然后再使用 double.Parse() 方法。
string input = "-3.14";
if (input.StartsWith("-") && double.TryParse(input.Substring(1), out double result))
{
Console.WriteLine($"Converted value: {result}");
}
else
{
Console.WriteLine("Conversion failed.");
}