Double.Prase()和Convert.Dodouble()有区别吗
C#中转换格式Double.Prase()和Convert.Dodouble()有区别吗
              
                  c#
              
------解决方案--------------------区别中有一个是对null的处理
parse会抛异常  而Convert会返回 0
------解决方案--------------------Double.Parse()只能接收string参数,而Convert.ToDouble()可以接收多种基本类型参数。
如果给定一个object实例,用Convert.ToDouble比较方便。
------解决方案--------------------Convert.ToDouble与 Double.Parse 较为类似,实际上 Convert.ToDouble内部调用了 Double.Parse:
Convert.ToDouble参数为 null 时,返回 0.0; 
Double.Parse 参数为 null 时,抛出异常。 
  
Convert.ToDouble参数为 "" 时,抛出异常; 
Double.Parse 参数为 "" 时,抛出异常。 
  
Convert.ToDouble可以转换的类型较多; 
Double.Parse 只能转换数字类型的字符串。 
Double.TryParse 与 Double.Parse 又较为类似,但它不会产生异常,转换成功返回 true,转换失败返回 false。最后一个参数为输出值,如果转换失败,输出值为 0.0。
附测试代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                //string a = "0.2";
                //string a = null;
                string a = "";
                try
                {
                    double d1 = Double.Parse(a);
                }
                catch (Exception err)
                {
                    Console.WriteLine("d1转换出错:" + err.Message);
                }
                try
                {
                    double d2 = Convert.ToDouble(a);
                }
                catch (Exception err)
                {