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/Float2XmlSerializer.cs

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