Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
300 views
in Technique[技术] by (71.8m points)

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

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:#%}")]
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...