Double.Parse() vs. Convert.ToDouble() This will convert a string number (5435.523) to a double 100,000 times.

Double.Parse()

Start Time : 56.836
End Time : 56.883

Convert.ToDouble()

Start Time: 56.883
End Time : 56.914

Times are displayed in current time. Seconds.miliseconds



Notes:


Front End Code:
    5             <fieldset>
    6                 <legend>Double.Parse() vs. Convert.ToDouble()</legend>
    7                 This will convert a string number  (5435.523) to a double 100,000 times.
    8                 <h4>Double.Parse()</h4>
    9                 Start Time: <asp:Literal ID="litStart1" runat="server" />
   10                 <br />
   11                 End Time : <asp:Literal ID="litEnd1" runat="server" />
   12                 <br />
   13                 <h4>Convert.ToDouble()</h4>
   14                 Start Time: <asp:Literal ID="litStart2" runat="server" />
   15                 <br />
   16                 End Time : <asp:Literal ID="litEnd2" runat="server" />
   17                 <br />
   18             </fieldset>

Source Code:

    1 using System;
    2 using System.Data;
    3 using System.Configuration;
    4 using System.Collections;
    5 using System.Web;
    6 using System.Web.Security;
    7 using System.Web.UI;
    8 using System.Web.UI.WebControls;
    9 using System.Web.UI.WebControls.WebParts;
   10 using System.Web.UI.HtmlControls;
   11 namespace BicNet.Projects.Other.EfficiencyTests
   12 {
   13 
   14     public partial class TypeConversionEfficiency : System.Web.UI.Page
   15     {
   16         protected void Page_Load(object sender, EventArgs e)
   17         {
   18             string strNumber = "5435.523";
   19             double dblANumber = 0;
   20             litStart1.Text = DateTime.Now.Second + "." + DateTime.Now.Millisecond.ToString("0##");
   21             for (int i = 0; i < 100000; i++)
   22             {
   23                 dblANumber = Double.Parse(strNumber);
   24             }
   25             litEnd1.Text = DateTime.Now.Second + "." + DateTime.Now.Millisecond.ToString("0##");
   26 
   27             litStart2.Text = DateTime.Now.Second + "." + DateTime.Now.Millisecond.ToString("0##");
   28             for (int i = 0; i < 100000; i++)
   29             {
   30                 dblANumber = Convert.ToDouble(strNumber);
   31             }
   32             litEnd2.Text = DateTime.Now.Second + "." + DateTime.Now.Millisecond.ToString("0##");
   33 
   34 
   35         }
   36     }
   37 }