Parse string to int based on culture info in CSharp

Description

The following code shows how to parse string to int based on culture info.

Example


using System;/* www  . ja  va2  s .  c o  m*/
using System.Globalization;

public class ParseInt32
{
   public static void Main()
   {
      Convert("1,000", NumberStyles.Float | NumberStyles.AllowThousands, new CultureInfo("en-GB"));
      Convert("1,000", NumberStyles.Float | NumberStyles.AllowThousands,new CultureInfo("fr-FR"));
      Convert("1,000", NumberStyles.Float, new CultureInfo("en-US"));

      Convert("1 425,00", NumberStyles.Float | NumberStyles.AllowThousands,new CultureInfo("sv-SE"));
      Convert("1,425.00", NumberStyles.Float | NumberStyles.AllowThousands,NumberFormatInfo.InvariantInfo);
      Convert("6,900", NumberStyles.Integer | NumberStyles.AllowDecimalPoint, new CultureInfo("fr-FR"));
      Convert("6,900", NumberStyles.Integer | NumberStyles.AllowDecimalPoint,new CultureInfo("en-US"));
      Convert("6,900", NumberStyles.Integer | NumberStyles.AllowThousands,new CultureInfo("en-US"));
   }

   private static void Convert(string value, NumberStyles style, IFormatProvider provider)
   {
      try
      {
         int number = Int32.Parse(value, style, provider);
         Console.WriteLine("Converted '{0}' to {1}.", value, number);
      }
      catch (FormatException)
      {
         Console.WriteLine("Unable to convert '{0}'.", value);
      }   
      catch (OverflowException)
      {
         Console.WriteLine("'{0}' is out of range of the Int32 type.", value);   
      }
   }                               
}

The code above generates the following result.





















Home »
  C# Tutorial »
    Data Types »




C# Data Types
Bool
Byte
Char
Decimal
Double
Float
Integer
Long
Short
String
C# Array
Array Example
Byte Array
C# Standard Data Type Format
BigInteger
Complex
Currency
DateTime
DateTimeOffset
DateTime Format Parse Convert
TimeSpan
TimeZone
Enum
Null
tuple
var