Csharp/CSharp Tutorial/I18N Internationalization/Number Parse

Материал из .Net Framework эксперт
Версия от 15:14, 26 мая 2010; Admin (обсуждение | вклад) (1 версия)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

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