当前位置:首页 > Windows程序 > 正文

C#中 Convert与Parse的区别

2021-03-24 Windows程序

1.Convert.ToDouble与Double.Parse的区别。实际上Convert.ToDouble与 Double.Parse 较为类似,实际上 Convert.ToDouble内部调用了 Double.Parse:

(1)对于参数为null的时候:
Convert.ToDouble参数为 null 时,返回 0.0; 
Double.Parse 参数为 null 时,抛出异常。 
(2)对于参数为""的时候:
Convert.ToDouble参数为 "" 时,抛出异常; 
Double.Parse 参数为 "" 时,抛出异常。 

(3)其它区别:

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)
                {
                    Console.WriteLine("d2转换出错:" + err.Message);

}
                try
                {
                    double d3;
                    Double.TryParse(a,out d3);
                }
                catch (Exception err)
                {
                    Console.WriteLine("d3转换出错:" + err.Message);
                }
            }
            finally
            {
                Console.ReadKey();
            }

        }
    }
}

2.Convert.ToInt32()与int.Parse()的区别

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/66714.html