c#关于字符串格式化
1. 如何使用文化来格式化日期
如:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
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 |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· .NET 适配 HarmonyOS 进展
· .NET 进程 stackoverflow异常后,还可以接收 TCP 连接请求吗?
· SQL Server统计信息更新会被阻塞或引起会话阻塞吗?
· 传国玉玺易主,ai.com竟然跳转到国产AI
· 本地部署 DeepSeek:小白也能轻松搞定!
· 自己如何在本地电脑从零搭建DeepSeek!手把手教学,快来看看! (建议收藏)
· 我们是如何解决abp身上的几个痛点
· 普通人也能轻松掌握的20个DeepSeek高频提示词(2025版)