C# 格式化字符串方法 ToString()

C# 格式化字符串方法 ToString()

微软官方说明链接:https://docs.microsoft.com/zh-cn/dotnet/standard/base-types/standard-numeric-format-strings

Label_FWDate.Text = string.Format("日期: {0,4:D4}-{1,2:D2}-{2,2:D2} {3,2:D2}:{4,2:D2}:{5,2:D2}",
                            Date[0] + 2000,
                            Date[1],
                            Date[2],
                            Date[3],
                            Date[4],
                            Date[5]
                            );
  • 可以传递给拥有 ToString 参数的 format 方法的重载。 下面的示例将数值的格式设置为当前区域性(在此示例中,为 en-US 区域性)中的货币字符串。

    C#

decimal value = 123.456m;
Console.WriteLine(value.ToString("C2"));
// Displays $123.46

它可作为与 String.FormatConsole.WriteLineStringBuilder.AppendFormat 等方法一起使用的格式项中的 formatString 参数提供。 有关更多信息,请参见复合格式设置。 下面的示例使用格式项在字符串中插入货币值。

C#

decimal value = 123.456m;
Console.WriteLine("Your account balance is {0:C2}.", value);
// Displays "Your account balance is $123.46."

可以视需要选择提供 alignment 参数,以指定数字字段宽度以及值是右对齐还是左对齐。 下面的示例在 28 位字符的字段中左对齐货币值,在 14 位字符的字段中右对齐货币值。

C#

decimal[] amounts = { 16305.32m, 18794.16m };
Console.WriteLine("   Beginning Balance           Ending Balance");
Console.WriteLine("   {0,-28:C2}{1,14:C2}", amounts[0], amounts[1]);
// Displays:
//        Beginning Balance           Ending Balance
//        $16,305.32                      $18,794.16

可以提供它作为内插字符串的内插表达式项中的 formatString 参数。 有关详细信息,请参阅 C# 参考中的字符串内插主题,或 Visual Basic 参考中的内插字符串主题。

格式说明符“属性”描述示例
“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”十进制结果:整型数字,负号可选。 受以下类型支持:仅限整型类型。 精度说明符:数字位数下限。 默认值精度说明符:所需数字位数下限。 更多信息:十进制(“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”往返过程结果:可以往返至相同数字的字符串。 受以下类型支持:SingleDoubleBigInteger。 注意:建议只用于 BigInteger 类型。 对于 Double 类型,请使用 “G17”;对于 Single 类型,请使用 “G9”。 精度说明符:已忽略。 更多信息:往返过程(“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
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值