📌  相关文章
📜  C#| Convert.ToDouble(String,IFormatProvider)方法(1)

📅  最后修改于: 2023-12-03 15:30:16.874000             🧑  作者: Mango

C# | Convert.ToDouble(String, IFormatProvider) 方法

简介

在C#中,Convert.ToDouble是一个常用的将字符串转换为浮点数的方法。该方法可以从一个字符串中提取数字,然后将其转换为一个双精度浮点数。

Convert.ToDouble方法有两个参数:

  • String参数:需要转换为浮点数的字符串。
  • IFormatProvider参数:指定将字符串转换为数字时要使用的格式。
语法
public static double ToDouble(string value, IFormatProvider provider);

其中:

  • value:要转换成双精度浮点数的字符串。
  • provider:提供有关字符串格式的信息。
使用示例

下面是一个简单的使用示例:

using System;

class Program
{
    static void Main()
    {
        string str = "3.1415926";
        double num = Convert.ToDouble(str);
        Console.WriteLine("字符串 {0} 转换为浮点数 {1}", str, num);
    }
}

输出结果:

字符串 3.1415926 转换为浮点数 3.1415926

在上面的示例中,我们将一个字符串"3.1415926"转换为一个双精度浮点数。

如果要指定转换时的格式,可以使用IFormatProvider参数。例如,要使用带有小数点的格式进行转换,可以使用以下代码:

using System;
using System.Globalization;

class Program
{
    static void Main()
    {
        string str = "3,1415926";
        NumberFormatInfo format = new NumberFormatInfo();
        format.NumberDecimalSeparator = ",";
        double num = Convert.ToDouble(str, format);
        Console.WriteLine("字符串 {0} 转换为浮点数 {1}", str, num);
    }
}

输出结果:

字符串 3,1415926 转换为浮点数 3.1415926

在这个例子中,我们使用了NumberFormatInfo对象来指定数字格式,以便支持逗号分隔的小数点。

异常处理

如果要转换的字符串不是有效的数字,Convert.ToDouble方法将抛出FormatException异常。要避免这种情况,应该始终使用TryParse方法来转换数字。

参考文献