web-dev-qa-db-fra.com

Comment puis-je utiliser un pourcentage% dans FormatString sans qu'il multiplie par 100?

Je voudrais formater un entier en pourcentage sans qu'il multiplie par 100 comme indiqué ici . Parce que ma source est un entier, le diviser d'abord par 100 n'est pas une option valide. Est-ce possible?

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

Vous pouvez échapper au % personnage:

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

Notez qu'il existe deux façons d'utiliser \ comme caractère d'échappement: si vous préfixez un littéral de chaîne avec le symbole textuel (@), puis \ les caractères sont inclus dans la chaîne tels quels, ce qui signifie que dans le cadre d'une chaîne de format, un nique\ fonctionnera comme un caractère d'échappement.

Sans le @ symbole textuel, \s sont interprétés comme des chaînes d'échappement par le compilateur et en tant que tels doivent être échappés eux-mêmes, comme \\.

Choisissez l'un ou l'autre, mais pas les deux:

@"{0:#\%}"  -> right
"{0:#\\%}"  -> right
@"{0:#\\%}" -> wrong
62
Dan Tao

Mettez le% en dehors du {0: ..}

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

Depuis votre page liée:

\ Caractère d'échappement

Fait interpréter le caractère suivant comme un littéral plutôt que comme un spécificateur de format personnalisé.

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