c#关于字符串格式化

1. 如何使用文化来格式化日期

如:

 1    /// <summary>
 2     /// 根据语言获取文化名称
 3     /// </summary>
 4     /// <returns></returns>
 5     public static string GetCultureName()
 6     {
 7         string cultureName;
 8         switch (MLocalization.language)
 9         {
10             case "Japanese":
11                 cultureName = "ja-JP";
12                 break;
13 
14             case "Taiwan":
15                 cultureName = "zh-TW";
16                 break;
17 
18             case "English":
19                 cultureName = "en-US";
20                 break;
21 
22             case "Korean":
23                 cultureName = "ko-KR";
24                 break;
25 
26             default:
27                 throw new InvalidOperationException("Not support language: " + MLocalization.language);
28         }
29 
30         return cultureName;
31     }
32 
33 
34 string cultureName = TextLocalization.GetCultureName();
35 var ci = new CultureInfo(cultureName);
36 DateTime.Now.ToString("yyyy MM/dd(ddd) HH:mm", ci)
example

 文化列表可参考:

https://msdn.microsoft.com/en-us/library/ee825488(v=cs.20).aspx

2. 标准数字格式字符串

可参考:

 https://msdn.microsoft.com/zh-cn/library/dwhawy9k(v=vs.110).aspx

格式说明符名称描述示例
“C”或“c” 货币 结果:货币值。

受以下类型支持:所有数值类型。

精度说明符:小数位数。

默认值精度说明符:由 NumberFormatInfo.CurrencyDecimalDigits 定义。

更多信息:货币(“C”)格式说明符
123.456 ("C", en-US) -> $123.46

123.456 ("C", fr-FR) -> 123,46 €

123.456 ("C", ja-JP) -> ¥123

-123.456 ("C3", en-US) -> ($123.456)

-123.456 ("C3", fr-FR) -> -123,456 €

-123.456 ("C3", ja-JP) -> -¥123.456
“D”或“d” Decimal 结果:整型数字,负号可选。

受以下类型支持:仅整型。

精度说明符:最小位数。

默认值精度说明符:所需的最小位数。

更多信息:十进制(“D”)格式说明符
1234 ("D") -> 1234

-1234 ("D6") -> -001234
“E”或“e” 指数(科学型) 结果:指数记数法。

受以下类型支持:所有数值类型。

精度说明符:小数位数。

默认值精度说明符:6。

更多信息:指数(“E”)格式说明符
1052.0329112756 ("E", en-US) -> 1.052033E+003

1052.0329112756 ("e", fr-FR) -> 1,052033e+003

-1052.0329112756 ("e2", en-US) -> -1.05e+003

-1052.0329112756 ("E2", fr_FR) -> -1,05E+003
“F”或“f” 定点 结果:整数和小数,负号可选。

受以下类型支持:所有数值类型。

精度说明符:小数位数。

默认值精度说明符:由 NumberFormatInfo.NumberDecimalDigits 定义。

更多信息:定点(“F”)格式说明符
1234.567 ("F", en-US) -> 1234.57

1234.567 ("F", de-DE) -> 1234,57

1234 ("F1", en-US) -> 1234.0

1234 ("F1", de-DE) -> 1234,0

-1234.56 ("F4", en-US) -> -1234.5600

-1234.56 ("F4", de-DE) -> -1234,5600
“G”或“g” 常规 结果:最紧凑的定点表示法或科学记数法。

受以下类型支持:所有数值类型。

精度说明符:有效位数。

默认值精度说明符:取决于数值类型。

更多信息:常规(“G”)格式说明符
-123.456 ("G", en-US) -> -123.456

-123.456 ("G", sv-SE) -> -123,456

123.4546 ("G4", en-US) -> 123.5

123.4546 ("G4", sv-SE) -> 123,5

-1.234567890e-25 ("G", en-US) -> -1.23456789E-25

-1.234567890e-25 ("G", sv-SE) -> -1,23456789E-25
“N”或“n” 数字 结果:整数和小数、组分隔符和小数分隔符,负号可选。

受以下类型支持:所有数值类型。

精度说明符:所需的小数位数。

默认值精度说明符:由 NumberFormatInfo.NumberDecimalDigits 定义。

更多信息:数字(“N”)格式说明符
1234.567 ("N", en-US) -> 1,234.57

1234.567 ("N", ru-RU) -> 1 234,57

1234 ("N1", en-US) -> 1,234.0

1234 ("N1", ru-RU) -> 1 234,0

-1234.56 ("N3", en-US) -> -1,234.560

-1234.56 ("N3", ru-RU) -> -1 234,560
“P”或“p” 百分比 结果:乘以 100 并显示百分比符号的数字。

受以下类型支持:所有数值类型。

精度说明符:所需的小数位数。

默认值精度说明符:由 NumberFormatInfo.PercentDecimalDigits 定义。

更多信息:百分比(“P”)格式说明符
1 ("P", en-US) -> 100.00 %

1 ("P", fr-FR) -> 100,00 %

-0.39678 ("P1", en-US) -> -39.7 %

-0.39678 ("P1", fr-FR) -> -39,7 %
“R”或“r” 往返过程 结果:可以往返至相同数字的字符串。

受以下类型支持:SingleDouble 和 BigInteger

精度说明符:忽略。

更多信息:往返过程(“R”)格式说明符
123456789.12345678 ("R") -> 123456789.12345678

-1234567890.12345678 ("R") -> -1234567890.1234567
“X”或“x” 十六进制 结果:十六进制字符串。

受以下类型支持:仅整型。

精度说明符:结果字符串中的位数。

更多信息:十六进制(“X”)格式说明符
255 ("X") -> FF

-1 ("x") -> ff

255 ("x4") -> 00ff

-1 ("X4") -> 00FF

转载请注明出处:http://www.cnblogs.com/jietian331/p/6382801.html

原文地址:https://www.cnblogs.com/jietian331/p/6382801.html