Come posso usare un percento % in formatString senza che si moltiplica per 100?

StackOverflow https://stackoverflow.com/questions/5983868

  •  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:#%}")]
È stato utile?

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:#\\%}")]
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top