Faster way to get number from string

image_pdfimage_print

   
 

using System;
using System.Data;
using System.Text.RegularExpressions;

class Class1{
        static void Main(string[] args){
      string IsNotNum = "111west";
      string IsNum = "  +111  ";
      string IsFloat = "  23.11  ";
      string IsExp = "  +23 e+11  ";
      
      Console.WriteLine(GetNumberFromStrFaster(IsNum));    // +111
      Console.WriteLine(GetNumberFromStrFaster(IsNotNum));  // 
      Console.WriteLine(GetNumberFromStrFaster(IsFloat));    // 23.11
      Console.WriteLine(GetNumberFromStrFaster(IsExp));    // 
        }
    public static string GetNumberFromStrFaster(string str)
    {
      str = str.Trim();
      Match m = new Regex(@"^[+-]?d*.?[Ee]?[+-]?d*$", RegexOptions.Compiled).Match(str);
      return (m.Value);
    }

}

           
         
     


Use regular expression to get number from string

image_pdfimage_print

   
 
using System;
using System.Data;
using System.Text.RegularExpressions;

class Class1{
        static void Main(string[] args){
      string IsNotNum = "111west";
      string IsNum = "  +111  ";
      string IsFloat = "  23.11  ";
      string IsExp = "  +23 e+11  ";
      
      Console.WriteLine(GetNumberFromStr(IsNum));    // +111
      Console.WriteLine(GetNumberFromStr(IsNotNum));  // 
      Console.WriteLine(GetNumberFromStr(IsFloat));  // 23.11
      Console.WriteLine(GetNumberFromStr(IsExp));    // 
        }
    public static string GetNumberFromStr(string str)
    {
      str = str.Trim();
      Match m = Regex.Match(str, @"^[+-]?d*.?[Ee]?[+-]?d*$");
      return (m.Value);
    }
    
}


           
         
     


Use regualr expression to check: Is it an Unsigned Integer

image_pdfimage_print

   
 
using System;
using System.Data;
using System.Text.RegularExpressions;

class Class1{
        static void Main(string[] args){
      string IsNotNum = "111west";
      string IsNum = "  +111  ";
      string IsFloat = "  23.11  ";
      string IsExp = "  +23 e+11  ";
      
      Console.WriteLine(IsUnsignedIntegerRegEx(IsNum));    // True
      Console.WriteLine(IsUnsignedIntegerRegEx(IsNotNum));  // False
      Console.WriteLine(IsUnsignedIntegerRegEx(IsFloat));    // False
      Console.WriteLine(IsUnsignedIntegerRegEx(IsExp));    // False
        }
    public static bool IsUnsignedIntegerRegEx(string str)
    {
      str = str.Trim();
      return (Regex.IsMatch(str, @"^+?d+$"));
    }
    
}


           
         
     


Use Integer.Parse to check: is it a number

image_pdfimage_print

   
 
using System;
using System.Data;
using System.Text.RegularExpressions;

class Class1{
        static void Main(string[] args){
      string IsNotNum = "111west";
      string IsNum = "  +111  ";
      string IsFloat = "  23.11  ";
      string IsExp = "  +23 e+11  ";
      
      Console.WriteLine(IsIntegerRegEx(IsNum));    // True
      Console.WriteLine(IsIntegerRegEx(IsNotNum));  // False
      Console.WriteLine(IsIntegerRegEx(IsFloat));    // False
      Console.WriteLine(IsIntegerRegEx(IsExp));    // False
        }
    public static bool IsIntegerRegEx(string str)
    {
      str = str.Trim();
      return (Regex.IsMatch(str, @"^[+-]?d+$"));
    }

}


           
         
     


Use int.Parse to check: is it an integer

image_pdfimage_print

   
 

using System;
using System.Data;


class Class1{
        static void Main(string[] args){
      string IsNotNum = "111west";
      string IsNum = "  +111  ";
      string IsFloat = "  23.11  ";
      string IsExp = "  +23 e+11  ";
      
      Console.WriteLine(IsNumeric(IsNum));    // True
      Console.WriteLine(IsNumeric(IsNotNum));    // False
      Console.WriteLine(IsNumeric(IsFloat));    // False
      Console.WriteLine(IsNumeric(IsExp));    // False
      Console.WriteLine();

        }
    public static bool IsNumeric(string str)
    {
      try
      {
        str = str.Trim();
        int foo = int.Parse(str);
        return (true);
      }
      catch (FormatException e)
      {
        Console.WriteLine("Not a numeric value: {0}", e.ToString());
        return (false);
      }
    }
}

           
         
     


Use regualr expression to check: is it a number

image_pdfimage_print

   
 
using System;
using System.Data;
using System.Text.RegularExpressions;

class Class1{
        static void Main(string[] args){
      string IsNotNum = "111west";
      string IsNum = "  +111  ";
      string IsFloat = "  23.11  ";
      string IsExp = "  +23 e+11  ";
      
      Console.WriteLine(IsNumericRegEx(IsNum));    // True
      Console.WriteLine(IsNumericRegEx(IsNotNum));  // False
      Console.WriteLine(IsNumericRegEx(IsFloat));    // True
      Console.WriteLine(IsNumericRegEx(IsExp));    // False
        }
    public static bool IsNumericRegEx(string str)
    {
      str = str.Trim();
      return (Regex.IsMatch(str, @"^[+-]?d*.?[Ee]?[+-]?d*$"));
    }    
}


           
         
     


Determining if a String is a Valid Number by Parse functions

image_pdfimage_print

   
 

using System;
using System.Data;


class Class1{
        static void Main(string[] args){
      string IsNotNum = "111west";
      string IsNum = "  +111  ";
      string IsFloat = "  23.11  ";
      string IsExp = "  +23 e+11  ";
      
      Console.WriteLine(int.Parse(IsNum));    
        Console.WriteLine(float.Parse(IsNum));    // 111
      Console.WriteLine(float.Parse(IsFloat));  // 23.11
      //Console.WriteLine(float.Parse(IsExp));  // throws
      
      try
      {
        Console.WriteLine(int.Parse(IsNotNum));
      }
      catch (FormatException e)
      {
        Console.WriteLine("Not a numeric value: {0}", e.ToString());  // throws
      }

        }
}