How can I use a percent % in FormatString without it multiplying by 100?

前端 未结 3 868
终归单人心
终归单人心 2020-12-14 00:34

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

相关标签:
3条回答
  • 2020-12-14 00:50

    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:#\\%}")]
    
    0 讨论(0)
  • 2020-12-14 00:54

    Put the % outside the {0:..}

    [DisplayFormat(DataFormatString = "{0:0.00}%")]
    
    0 讨论(0)
  • 2020-12-14 00:55

    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
    
    0 讨论(0)
提交回复
热议问题