2 using System.Globalization;
4 namespace TechBot.Library
6 public class NumberParser
8 public bool Error = false;
10 private const string SpecialHexCharacters = "ABCDEF";
12 private static bool IsSpecialHexCharacter(char ch)
14 foreach (char specialChar in SpecialHexCharacters)
16 if (ch.ToString().ToUpper() == specialChar.ToString())
22 private static bool HasSpecialHexCharacters(string s)
24 foreach (char ch in s)
26 if (IsSpecialHexCharacter(ch))
32 public long Parse(string s)
38 if (s.StartsWith("0x", StringComparison.InvariantCultureIgnoreCase))
43 if (HasSpecialHexCharacters(s))
47 NumberStyles.HexNumber);
49 return Int64.Parse(s);
51 catch (FormatException)
55 catch (OverflowException)