Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
05/29/09 14:56:51 (15 years ago)
Author:
epitzer
Message:

Updated handling of floating and fixed point numbers, faster and more accurate serialization and parsing. (#646)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Persistence/3.3/Default/Xml/Primitive/Double2XmlSerializer.cs

    r1853 r1958  
    77namespace HeuristicLab.Persistence.Default.Xml.Primitive {
    88
    9   public class Double2XmlSerializer : DecimalNumber2XmlSerializerBase<double> { }
     9  public class Double2XmlSerializer : PrimitiveXmlSerializerBase<double> {
     10
     11    public static double ParseG17(string s) {
     12      double d;
     13      if (double.TryParse(s,
     14        NumberStyles.AllowDecimalPoint |
     15        NumberStyles.AllowExponent |
     16        NumberStyles.AllowLeadingSign, CultureInfo.InvariantCulture, out d))
     17        return d;
     18      throw new FormatException(
     19        String.Format("Invalid G17 number format \"{0}\" could not be parsed", s));
     20    }
     21
     22    public static string FormatG17(double d) {
     23      return d.ToString("g17", CultureInfo.InvariantCulture);
     24    }
     25
     26    public override XmlString Format(double d) {
     27      return new XmlString(FormatG17(d));
     28    }
     29
     30    public override double Parse(XmlString t) {
     31      return ParseG17(t.Data);
     32    }
     33  }
     34
     35 
     36 
    1037
    1138}
Note: See TracChangeset for help on using the changeset viewer.