olibara
Messages postés666Date d'inscriptiondimanche 16 décembre 2007StatutMembreDernière intervention11 mars 2010
-
17 févr. 2008 à 22:46
olibara
Messages postés666Date d'inscriptiondimanche 16 décembre 2007StatutMembreDernière intervention11 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
cs_Bidou
Messages postés5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 201361 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 ;-)
olibara
Messages postés666Date d'inscriptiondimanche 16 décembre 2007StatutMembreDernière intervention11 mars 20106 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);