Convertir string vers decimal [Résolu]

Signaler
Messages postés
191
Date d'inscription
mercredi 11 juillet 2007
Statut
Membre
Dernière intervention
30 juin 2011
-
cs_ansizak
Messages postés
191
Date d'inscription
mercredi 11 juillet 2007
Statut
Membre
Dernière intervention
30 juin 2011
-
Bonjour,

Je créé un programme qui doit calculer des pourcentages à partir de série de chiffre lues dans un fichier texte ert ressortir les valeurs supérieures à 100, ce qui fonctionne sauf quand le calcul s'effectue sur des nombres a virgules.
J'utilise le code suivant:

decimal result;
                    int j;

                    while ((line = rd.ReadLine()) != null)
                    {
  
                        string[] tab;
                        tab = line.Split(';');
                       
                            for (j = 0; j < tab.Length; j+=2)
                            {
                                result = ((Decimal.Parse(tab[j].ToString())) / (Decimal.Parse(tab[j+1].ToString())) * 100);
                                if (result > 100)
                                {
                                    listBoxlistederror.Items.Add(result.ToString());
                                }
                            }
                      

                    }

Cela fonctionne pour toutes les valeurs entières, mais pour les valeurs décimales telles que 12.5
En gros ma question est de savoir comment convertir en decimal une série de chiffre avec "." en tant que séparateur de décimales. (j'aurais du le formuler ainsi).

Si vous pouviez m'eclairer,

Merci de votre compréhension,
Cordialement,
Anz.

4 réponses

Messages postés
94
Date d'inscription
dimanche 16 avril 2006
Statut
Membre
Dernière intervention
17 avril 2008
1
Utilise la variante Decimal.Parse(string, IFormatProvider) dans laquelle tu introduiras une culture ayant le point comme séparateur décimal.

Par exemple, decimal a = decimal.Parse("12.35", System.Globalization.CultureInfo.InvariantCulture);

Bonne journée

«L'erreur est humaine mais un véritable désastre nécessite un ordinateur.»
«Selon les derniers chiffres, 43 % des statistiques sont fausses»
Messages postés
2368
Date d'inscription
mardi 17 avril 2001
Statut
Modérateur
Dernière intervention
26 décembre 2007
14
Et si accessoirement tu veux modifier la façon dont est interprété ta chaïne, tu peux instancier un NumberFormatInfo et / ou changer le NumberStyles.

::|The S@ib|::
MVP C#.NET
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
45
Préférer TryParse que Parse

<hr />
-My Blog-
Messages postés
191
Date d'inscription
mercredi 11 juillet 2007
Statut
Membre
Dernière intervention
30 juin 2011

Ca fonctionne, génial :)) merci encore à vous !

Anz.