44

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

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

3 回答 3

65

You can escape the % character:

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

Note that there are two ways to use \ as an escape character: if you prefix a string literal with the verbatim symbol (@), then \ characters are included in the string as-is, which means that as part of a format string a single \ will function as an escape character.

Without the @ verbatim symbol, \s are interpreted as escape strings by the compiler and as such need to be escaped themselves, as \\.

Pick one or the other, but not both:

@"{0:#\%}"  -> right
"{0:#\\%}"  -> right
@"{0:#\\%}" -> wrong
于 2011-05-12T20:12:55.163 回答
36

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

[DisplayFormat(DataFormatString = "{0:0.00}%")]
于 2012-11-28T14:56:12.087 回答
6

From your linked page:

\ Escape character

Causes the next character to be interpreted as a literal rather than as a custom format specifier.

[DisplayFormat(DataFormatString = "{0:#\\%}")]
于 2011-05-12T20:14:12.263 回答