title: Parsing floating value from XML losing decimal places (C#)
body: <p>I have a very awkward behaviour in C# (inside Unity, using VS2019) that is driving me crazy for days, now, and I really would appreciate your help.</p>
  
  <p>I have a very simple XML file, in this simple case only containing a root node and a couple of attributes:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;root bit_depth="8" end_datetime="737061.75" start_datetime="737061"&gt;
  &lt;/root&gt;
  </code></pre>
  
  <p>And I try to read it:</p>
  
  <pre><code>    XmlDocument document = new XmlDocument();
      document.Load( _projectFilePath );
      XmlElement root = document.DocumentElement;
  
      System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo( "en-US" );
  
      string startTime = root.Attributes[ "start_datetime" ].Value;
      Debug.Log( "1st::: Read startTime number: " + startTime );
      double startTimeValue = double.Parse(startTime);
      Debug.Log( "2nd::: Parse startTime number: " + startTimeValue );
  
      string endTime = root.Attributes[ "end_datetime" ].Value;
      Debug.Log( "1st::: Read endTime number: " + endTime );
      double endTimeValue = double.Parse( endTime, CultureInfo.InvariantCulture );
      Debug.Log( "2nd::: Parse endTime number: " + endTimeValue );
  </code></pre>
  
  <p>The result is the following: </p>
  
  <pre><code>1st::: Read startTime number: 737061
  2nd::: Parse startTime number: 737061
  
  1st::: Read endTime number: 7,370618E+07
  2nd::: Parse endTime number: 73706180000000
  </code></pre>
  
  <p>Just... why?!?!?!?! Why is it messing up that floating number to 7,370618E+07 when I explicitly parse a double?</p>