Data Types C#

using System;
using System.Globalization;
public class Example
{
    public static void Main()
    {
      string[] values = { " 987.654E-21", " 987,654E-21",  "(98765,43210.12345)", 
                          "9,876,543.210", "9.876.543,210",  "98_76_54_32,19" };
      CultureInfo ci = new CultureInfo("");
      ci.NumberFormat.NumberGroupSizes = new int[] { 2 };
      ci.NumberFormat.NumberGroupSeparator = "_";
      CultureInfo[] providers = { new CultureInfo("en-US"),new CultureInfo("nl-NL"), ci };       
      NumberStyles[] styles = { NumberStyles.Currency, NumberStyles.Float };
      foreach (CultureInfo provider in providers)
      {
         foreach (string value in values)
         {
            foreach (NumberStyles style in styles)
            {
               try {
                  float number = Single.Parse(value, style, provider);            
                  Console.WriteLine("{0} ({1}) -> {2}", value, style, number);
               }
               catch (FormatException) {
                  Console.WriteLine("'{0}' is invalid using {1}.", value, style);
               }
               catch (OverflowException) {
                  Console.WriteLine("'{0}' is out of the range of a Single.", value);
               } 
            }            
         }         
      }
   }   
}