Comment puis-je formater une valeur en pourcentage, sans le signe de pourcentage?
float f = 0.479f;
Console.WriteLine(f.ToString("p1"));
La sortie: 47.9 %
Que dois-je passer à ToString() pour supprimer le signe de pourcentage pour la sortie comme ceci:
De 47,9
MODIFIER. J'aurais dit que je suis de passage le masque à une 3ème partie composante de qui est-il du chose avec elle. Je ne peux pas effectuer toutes les acrobaties avec les numéros malheureusement. Il doit être le masque qui fait le tour.
ce que votre 3ème composante voir avec chaîne formatée? ne limitez votre texte au format longueur?
Parce qu'il fournit simplement à un .Propriété FormatString qui prend ce masque. Toute la mise en forme se fait par le 3ème contrôle du parti.
Pouvez-vous créer un nouveau NumberInfoFormat? Si oui, vérifiez édité mon post.
Parce qu'il fournit simplement à un .Propriété FormatString qui prend ce masque. Toute la mise en forme se fait par le 3ème contrôle du parti.
Pouvez-vous créer un nouveau NumberInfoFormat? Si oui, vérifiez édité mon post.
OriginalL'auteur AngryHacker | 2010-01-16
Vous devez vous connecter pour publier un commentaire.
Donc je suppose que vous êtes coincé avec
Float.ToString(String)
, et que vous ne pouvez pas modifier uniquement lap1
dansf.ToString("p1")
. Maintenant, c'est une question délicate. Si vous n'avez pas peur de casser quoi que ce soit lié aux changements implicite, vous pouvez effectuer les opérations suivantes:Le "P" au format numérique, comme indiqué Sur MSDN, utilise
NumericFormatInfo.PercentSymbol
afin d'écrire le signe'%'.NumericFormatInfo
est un membre de votreCultureInfo
. Ce que vous pourriez faire, c'est de cloner votreCurrentCulture
, et de modifier le PercentSymbol à""
comme suit:Ce serait la voie à suivre si vous ne voulez pas modifier le ToString appel.
OriginalL'auteur Dynami Le Savard
OriginalL'auteur Rubens Farias
Que diriez-vous simplement la suivante?
par exemple f = 0.4792 --> "47.9"
Une liste et la description de format numérique standard sont disponibles ici sur MSDN, au cas où il permet.
OriginalL'auteur Noldorin
Pourrait essayer
Ou, si vous voulez ne voulez pas un espace, utilisez
Replace('%','\0')
EDIT: Si vous ne pouvez utiliser le
ToString()
méthode, vous pouvez créer unNumberFormatInfo
objet, le symbole de pourcentage à vide et la passer dans la méthode.(
NumberFormatInfo
est dans leSystem.Globalization
espace de noms)par exemple,
NumberFormatInfo.CurrentInfo.PercentSymbol
plutôt que de brancher l'%
symbole. (Je n'ai aucune idée de si tout de la .NET cultures en fait, utiliser un autre symbole, si!) Certaines cultures aussi un espace entre le nombre et la%
symbole (voirNumberFormatInfo.PercentPositivePattern
), donc il peut aussi vouloir réaliser un découpage après avoir fait cela, ou il va se retrouver avec une tête ou en queue de l'espace.+1 - un Bon point!
OriginalL'auteur keyboardP