Formatage de nombre en C# la jungle

Résolu
olibara Messages postés 666 Date d'inscription dimanche 16 décembre 2007 Statut Membre Dernière intervention 11 mars 2010 - 17 févr. 2008 à 22:46
olibara Messages postés 666 Date d'inscription dimanche 16 décembre 2007 Statut Membre Dernière intervention 11 mars 2010 - 18 févr. 2008 à 09:44
Bonjour

Chaque fois que je dois formater un nombre ou un print en C# j'ai des frissons d'apréhension et d'ailleurs je ne m'en sort toujours pas
Déja en C c'etait pas tres clair mais a la longue on s'habitue, autant en C# la diversité des methodes et le manque d'explications détaillée avec exemples rendent l'exercice totalement périlleux et alléatoire !

J'essaye de formater undouble avec 6 digit derriere la virgule mais je veux avoir un point et pas une virgule !

La palme d'or a celui qui peut trouver une explication exhaustive avec exemple de la bonne maniere d'aborder le probleme selon les circonstances

4 réponses

cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
17 févr. 2008 à 23:26
Bonsoir,
Tu peux essayer comme ceci:

double d = 12.434534546464654D;

Console.WriteLine(
String.Format(
CultureInfo.InvariantCulture,
"{0:0.000000}", d));

<hr />
-My Blog-
3
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
18 févr. 2008 à 07:30
Oui c'est un sujet assez vaste et je n'ai pas de liens précis à fournir... sorry.
Concernant le Console.WriteLine, ce n'est pas tout à fait la même chose, car cette méthode ne possède pas de surcharge permettant de passer un IFormatProvider, on est alors obligé de passer par un String.Format.

Pour le Round + ToString, je n'ai pas testé si ça fonctionnait, mais si c'est le cas, je trouve la solution moins élégante ;-)

<hr />
-My Blog-
3
olibara Messages postés 666 Date d'inscription dimanche 16 décembre 2007 Statut Membre Dernière intervention 11 mars 2010 6
18 févr. 2008 à 06:15
Merci Bidou

Oui, ca marche

Mais ce qui serait génial c'est un petit (ou gros ?) tutorial essentiellement consacré au formatage en C# car ern dehors de solution plic ploc ponctuelle; le sujet me semble vaste et la doc eparpillée un peu partout

Console.WriteLine(String.Format(CultureInfo.InvariantCulture, "{0:0.000000}", d));
+/- = à
Console.WriteLine(

"{0:0.000000}", d);

Et j'ai auussi vu des truc du genre

      Text = Math.Round(d, 2).ToString(CultureInfo.CurrentCulture);
0
olibara Messages postés 666 Date d'inscription dimanche 16 décembre 2007 Statut Membre Dernière intervention 11 mars 2010 6
18 févr. 2008 à 09:44
Merci Bidou
0
Rejoignez-nous