📅  最后修改于: 2023-12-03 15:07:52.193000             🧑  作者: Mango
在C#编程中,我们经常需要将字符串转换为Double类型。这通常发生在从用户输入读取数值并在计算中使用时。
本文将介绍C#中转换字符串为Double的几种不同方法。代码片段将以C#语言为基础。
Double.Parse方法可用于将字符串转换为Double类型。它接受字符串参数并返回已转换的Double值。以下是使用Double.Parse转换字符串的方法的示例代码:
string str = "3.14";
double d = Double.Parse(str);
注意:在使用Parse方法进行转换时,请确保字符串中只包含有效的数字和小数点。如果字符串中包含其他字符,如字母或符号,将会引发格式异常。
Double.TryParse方法是另一种将字符串转换为Double类型的方法。它可以接受字符串参数,并尝试将其转换为Double值,但与Double.Parse不同,它不会引发格式异常。相反,它会返回一个布尔值,指示转换是否成功。如果转换失败,则返回false,并且输出参数将不包含转换值。
以下是使用Double.TryParse转换字符串的方法的示例代码:
string str = "3.14";
double d;
if (Double.TryParse(str, out d))
{
// 转换成功
}
else
{
// 转换失败
}
Convert.ToDouble方法是将对象转换为Double类型的另一种方法。它接受任何可转换为Double类型的对象,并返回已转换的Double值。以下是使用Convert.ToDouble转换字符串的方法的示例代码:
string str = "3.14";
double d = Convert.ToDouble(str);
与Double.Parse类似,Convert.ToDouble也仅接受不包含无效字符的字符串。否则,它将引发格式异常。
在尝试将字符串转换为Double类型之前,最好检查字符串是否包含无效字符。您可以使用正则表达式或引用其他验证库来实现这一目标。
以下是使用正则表达式来验证字符串是否包含有效数字和小数点的示例代码:
string str = "3.14";
if (Regex.IsMatch(str, @"^[0-9]+(\.[0-9]+)?$"))
{
double d = Double.Parse(str);
}
else
{
// 字符串中包含无效字符
}
总之,C#中将字符串转换为Double类型的方法有很多。您可以使用Double.Parse、Double.TryParse或Convert.ToDouble方法中的任何一种方法。同时,您应该始终在尝试转换字符串之前验证字符串是否符合要求,以避免引发异常。