I would like to format an integer as a percent without it multiplying by 100 as shown here. Because my source is an int, dividing it first by 100 is not a valid option. Is this possible?
[DisplayFormat(DataFormatString = "{0:#%}")]
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