如何使用.NET中的当前区域性将整数转换为字符串?

如何使用.NET中的当前区域性将整数转换为字符串?,.net,localization,globalization,.net,Localization,Globalization,如何在.NET中将整数转换为本地化字符串 免费范例: Int64 value = 12345678901; value.ToString(); // returns "12345678901", should be "123,4567,8901" value.ToString(CultureInfo.CurrentCulture); // returns "12345678901", should be "123,4567,8901" value.ToString(Cu

如何在.NET中将整数转换为本地化字符串

免费范例:

Int64 value = 12345678901;

value.ToString();  
   // returns "12345678901", should be "123,4567,8901"

value.ToString(CultureInfo.CurrentCulture);  
   // returns "12345678901", should be "123,4567,8901"

value.ToString(CultureInfo.CreateSpecificCulture("en-US")) 
   // returns "12345678901", should be "12,345,678,901"

value.ToString(CultureInfo.CreateSpecificCulture("fr-CH"))
   // returns "12345678901", should be "12'345'678'901"

value.ToString(CultureInfo.CreateSpecificCulture("te-IN"))
   // returns "12345678901", should be "12,34,56,78,901"
如何在.NET中将整数(或浮点)转换为本地化字符串

花言巧语 世界上唯一的数字格式列表:

  • 12345 678 901
  • 12,34,56,78901
  • 12345678901
  • 12.345.678.901
  • 12?345?678?901
  • 12345678901
  • 12'345'678'901
可在.NET中找到这些区域性设置的其他奖金信息:

CultureInfo.CreateSpecificCulture("en-US").NumberFormat.NumberGroupSizes = { 3 }
CultureInfo.CreateSpecificCulture("en-US").NumberFormat.NumberGroupSeparator = ","

CultureInfo.CreateSpecificCulture("te-IN").NumberFormat.NumberGroupSizes = { 3, 2 }
CultureInfo.CreateSpecificCulture("te-IN").NumberFormat.NumberGroupSeparator = ","

CultureInfo.CreateSpecificCulture("te-IN").NumberFormat.NumberGroupSizes = { 3 }
CultureInfo.CreateSpecificCulture("te-IN").NumberFormat.NumberGroupSeparator = "'"
使用精度为0的“N”

using System;

class Test
{
    static void Main() 
    {
        long value = 12345678901;
        string text = value.ToString("N0");
        Console.WriteLine(text);
    }
}
结果(在我的英国机器上):

这将从各个方面考虑当前的文化。当然,您可以单独指定区域性

编辑:特定区域性的通用形式:

value.ToString("N0", CultureInfo.CreateSpecificCulture("fr-CH"));
value.ToString("N0", CultureInfo.CreateSpecificCulture("fr-CH"));