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();}}}}
联系客服