コード例 #1
0
 float GetNumericValue(Utf8String[] parts)
 {
     if (parts[6].HasValue)
     {
         return(Utf8String.ParseInt(parts[6]));
     }
     if (parts[7].HasValue)
     {
         return(Utf8String.ParseInt(parts[7]));
     }
     if (parts[8].HasValue)
     {
         var p = parts[8].Split(new char[] { '/' }, 3);
         Console.WriteLine("float? value {0} in {1} parts", parts[8], p.Length);
         if (p.Length == 2)
         {
             Console.WriteLine("{0} / {1}", p[0], p[1]);
             Console.WriteLine("{0} / {1}", p[0].Trim(), p[1].Trim());
             return(Utf8String.ParseInt(p[0].Trim()) * 1.0f / Utf8String.ParseInt(p[1].Trim()));
         }
         else
         {
             return(Utf8String.ParseInt(parts[8]));
         }
     }
     return(float.NaN);
 }
コード例 #2
0
 void WriteCodepoint(Utf8String codepoint)
 {
     if (!codepoint.HasValue)
     {
         WriteUint32(0);
         return;
     }
     WriteUint32((uint)Utf8String.ParseInt(codepoint, 16));
 }