반응형

문화에 따라 다르게 표현되는 데이터를 일관되게 표현해 보자.

 

namespace ConsoleApp1
{
    using System.Globalization;

    internal class Program
    {
        static void Main(string[] args)
        {
            var allCultures = CultureInfo.GetCultures(CultureTypes.AllCultures);
            foreach (var ci in allCultures)
            {
                // Display the name of each culture.
                Console.Write($"{ci.EnglishName} ({ci.Name}): ");
                // Indicate the culture type.
                if (ci.CultureTypes.HasFlag(CultureTypes.NeutralCultures))
                    Console.Write(" NeutralCulture");
                if (ci.CultureTypes.HasFlag(CultureTypes.SpecificCultures))
                    Console.Write(" SpecificCulture");
                Console.WriteLine();
            }

            Console.WriteLine("Current culture is {0}", CultureInfo.CurrentCulture.Name);

            double value = 1234.56;
            
            Console.WriteLine(value);
            Console.WriteLine(value.ToString());
            // The current culture is a property of the executing thread.
            Console.WriteLine(value.ToString(CultureInfo.CurrentCulture));
            // The invariant culture is culture-insensitive; it's associated with the English
            // language but not with any country/region.
            Console.WriteLine(value.ToString(CultureInfo.InvariantCulture));

            CultureInfo.CurrentCulture = new CultureInfo("de-DE");

            Console.WriteLine("Current culture is {0}", CultureInfo.CurrentCulture.Name);
            Console.WriteLine(value);
            Console.WriteLine(value.ToString());
            Console.WriteLine(value.ToString(CultureInfo.CurrentCulture));
            Console.WriteLine(value.ToString(CultureInfo.InvariantCulture));

            CultureInfo.CurrentCulture = new CultureInfo("en-US");

            Console.WriteLine("Current culture is {0}", CultureInfo.CurrentCulture.Name);
            Console.WriteLine(value);
            Console.WriteLine(value.ToString());
            Console.WriteLine(value.ToString(CultureInfo.CurrentCulture));
            Console.WriteLine(value.ToString(CultureInfo.InvariantCulture));
        }
    }
}

 

 

반응형
Posted by J-sean
: