如何在格式字符串中使用百分比 % 而不乘以 100

本文关键字:百分比 格式 字符串 | 更新日期: 2023-09-27 17:56:30

我想将整数格式化为百分比,而不将其乘以 100,如下所示。 因为我的源是一个 int,所以先除以 100 不是一个有效的选项。 这可能吗?

[DisplayFormat(DataFormatString = "{0:#%}")]

如何在格式字符串中使用百分比 % 而不乘以 100

您可以转义%字符:

[DisplayFormat(DataFormatString = @"{0:#'%}")]

请注意,有两种方法可以将 ' 用作转义字符:如果在字符串文本前面加上逐字符号 (@ ),则字符串中将按原样包含'字符,这意味着作为格式字符串的一部分,单个'将用作转义字符。

如果没有@逐字符号,编译器会将'解释为转义字符串,因此需要自行转义,如''

选择一个或另一个,但不能同时选择两个:

@"{0:#'%}"  -> right
"{0:#''%}"  -> right
@"{0:#''%}" -> wrong

将 % 放在 {0:..} 之外

[DisplayFormat(DataFormatString = "{0:0.00}%")]

从您的链接页面:

''转义字符

使下一个字符被解释为文本,而不是自定义格式说明符。

[DisplayFormat(DataFormatString = "{0:#''%}")]

如果值为 0,则格式 @"{0:#%}" 仅显示 %。它应该显示 0%。所以正确的格式是

[DisplayFormat(DataFormatString = @"{0:#0'%}")]

哈希后有一个额外的零。