6
votes

Format de chaîne% avec des chiffres significatifs

J'utilise le code suivant pour afficher le pourcentage à l'aide de String.Format, mais je souhaite également limiter le nombre de chiffres significatifs à 2, les deux ne semblent pas bien jouer bien ensemble. Comment puis-je obtenir les deux fonctionnant correctement? XXX

Donc, ce que je veux idéalement, c'est quelque chose comme ça xxx


3 commentaires

ne devriez-vous pas utiliser un '.' plutôt que le ':' vous utilisez. Alors quelque chose comme: {# 0.00%}


@kyra: le premier "0" est l'index de terrain.


Vos exemples D1 / D2 ne semblent pas logiques. Quand voulez-vous qu'un Divby100 se produise?


4 Réponses :


12
votes

Vous pouvez contrôler le nombre de chiffres avant et après le point décimal (séparateur). Contrôler le nombre total de chiffres (avant et après) va nécessiter une programmation.

Le format {0: 0,00%} doit fonctionner, donnant des sorties telles que 0,12, 1.23 et 12.34


1 commentaires

+1 pour être la seule réponse réellement correcte à la question.



2
votes
double d = 25.13645;
Console.WriteLine(d.ToString("##.00 %"));

1 commentaires

Pourquoi le '#' devant? Et '##. 00' est la même chose que '# .00'.



0
votes

Ce message de blog est une excellente petite feuille de triche pour rester utile lorsque vous essayez de formater des chaînes à une variété de formats.

supprimé

modifier

Le lien a été supprimé car Google a mis en garde temporairement que le site (ou le site associé) a peut-être répandu des logiciels malveillants. Il est désormais hors de la liste que cela n'a plus été signalé comme problématique (bien que cela soit problématique soit toujours rapporté). Google "Stevex String Formatage" Vous trouverez le résultat de la recherche et vous pouvez le visiter à votre discrétion.


4 commentaires

-1. Chrome me dit que ce site peut nuire à mon ordinateur. Safebroxing.Clients.Google.com/safebowsing/.../a>


Désolé les gars. Aussi récemment que le 1er juin, ce site n'était pas bloqué et le guide était très utile pour le formatage des chaînes en C #. Je vais essayer d'obtenir le contenu ailleurs ou d'essayer d'informer le propriétaire que son site a été compromis.


@Adam Robinson: Vous pouvez avoir supprimé le lien. Tout le monde ne lit pas les commentaires.


@HENK: Ouais, n'en pensait pas quand je l'ai vu; Heureusement, vous étiez plus attentif. Mea culpa!



5
votes
String test = String.Format("{0:F2}", 25);
This will create 25.00All the numeric formatting options can be found on MSDN.  I use it all the time.http://msdn.microsoft.com/en-us/library/s8s7t687.aspx

0 commentaires