Csharp/CSharp Tutorial/I18N Internationalization/Number Parse
Parsing numbers based on Culture info
<source lang="csharp">using System; using System.Collections; using System.Collections.Generic; using System.IO; using System.Reflection; using System.Resources; using System.Text; using System.Threading; using System.Globalization; public class MainClass {
public static void Main() { CultureInfo current = CultureInfo.CurrentCulture; string numberString = "33,223.510"; try { Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo("de-DE"); try { double number = double.Parse(numberString); Console.WriteLine("Parsed! {0}", number); } catch (Exception e) { Console.WriteLine("Caught exception: {0}", e.ToString()); } } finally { Thread.CurrentThread.CurrentCulture = current; } }
}</source>
Parsing numbers with culture invariant parsing
<source lang="csharp">using System; using System.Collections; using System.Collections.Generic; using System.IO; using System.Reflection; using System.Resources; using System.Text; using System.Threading; using System.Globalization; public class MainClass {
public static void Main() { CultureInfo current = CultureInfo.CurrentCulture; string numberString = "33,223.510"; try { double number = double.Parse(numberString, CultureInfo.InvariantCulture); Console.WriteLine("Parsed! {0}", number); } catch (Exception e) { Console.WriteLine("Caught exception: {0}", e.ToString()); } }
}</source>
Parsed! 33223.51