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)
文化列表可参考:
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” | 往返过程 | 结果:可以往返至相同数字的字符串。 受以下类型支持:Single、Double 和 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 |