如何将美国格式的数字字符串转换为欧洲格式的数字字符串?

时间:2016-03-13 19:52:35

标签: c# wpf globalization

我正在开发一个WPF应用程序,以便在UI上有一个组合框,允许用户从下拉列表中选择文化,然后根据用户选择我要转换的文化。现有区域中的数字字符串,用户从组合框中选择的字符串。例如 - 2,325,655.65(美国格式)与2.325.655,65(欧洲格式)。

如何在C#中完成此操作?

这是我到目前为止所尝试的

using System;
using System.Globalization;

namespace Programs {
    public class ConvertCulture {
        public static void Main(string[] args) {
            Console.Write("Please enter a number : ");
            var number = Console.ReadLine();
            var doubleValue = double.Parse(number);
            var culture = CultureInfo.CreateSpecificCulture("es-ES");
            Console.WriteLine(doubleValue.ToString("N", culture));
            Console.ReadKey();
        }
    }
}

1 个答案:

答案 0 :(得分:0)

使用货币格式说明符C. Here's msdn文档。

例如:

double value = 12345.6789;
Console.WriteLine(value.ToString("C", CultureInfo.CurrentCulture));
Console.WriteLine(value.ToString("C3", CultureInfo.CurrentCulture));
Console.WriteLine(value.ToString("C3", CultureInfo.CreateSpecificCulture("da-DK")));

// The example displays the following output on a system whose
// current culture is English (United States):
//       $12,345.68
//       $12,345.679
//       kr 12.345,679