Come posso usare un percento % in formatString senza che si moltiplica per 100?
-
12-11-2019 - |
Domanda
Vorrei formattare un numero intero come percentuale senza che si moltiplica per 100 come mostrato qui. Poiché la mia fonte è un int, dividerla prima per 100 non è un'opzione valida. È possibile?
[DisplayFormat(DataFormatString = "{0:#%}")]
Soluzione
Puoi sfuggire al %
carattere:
[DisplayFormat(DataFormatString = @"{0:#\%}")]
Si noti che ci sono due modi per usare \
Come personaggio di fuga: se prefissi una stringa letterale con il simbolo verbatim (@
), poi \
I caratteri sono inclusi nella stringa così com'è, il che significa che come parte di una stringa di formato a separare \
Funzionerà come carattere di fuga.
Senza il @
simbolo verbatim, \
S sono interpretati come stringhe di fuga dal compilatore e come tale deve essere sfuggito a se stessi, come \\
.
Scegli l'uno o l'altro, ma non entrambi:
@"{0:#\%}" -> right
"{0:#\\%}" -> right
@"{0:#\\%}" -> wrong
Altri suggerimenti
Metti la % al di fuori del {0: ..}
[DisplayFormat(DataFormatString = "{0:0.00}%")]
Dalla tua pagina collegata:
Carattere di fuga
Fa sì che il personaggio successivo venga interpretato come un specificatore letterale piuttosto che come un formato personalizzato.
[DisplayFormat(DataFormatString = "{0:#\\%}")]