Convertir string vers decimal [Résolu]

Messages postés
191
Date d'inscription
mercredi 11 juillet 2007
Dernière intervention
30 juin 2011
- 17 déc. 2007 à 20:59 - Dernière réponse :
Messages postés
191
Date d'inscription
mercredi 11 juillet 2007
Dernière intervention
30 juin 2011
- 17 déc. 2007 à 22:06
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.
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
Messages postés
94
Date d'inscription
dimanche 16 avril 2006
Dernière intervention
17 avril 2008
- 17 déc. 2007 à 21:32
3
Merci
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»

Merci taupe4 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 89 internautes ce mois-ci

Commenter la réponse de taupe4
Meilleure réponse
Messages postés
2369
Date d'inscription
mardi 17 avril 2001
Dernière intervention
26 décembre 2007
- 17 déc. 2007 à 21:37
3
Merci
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

Merci TheSaib 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 89 internautes ce mois-ci

Commenter la réponse de TheSaib
Meilleure réponse
Messages postés
5507
Date d'inscription
dimanche 4 août 2002
Dernière intervention
20 juin 2013
- 17 déc. 2007 à 21:40
3
Merci
Préférer TryParse que Parse

<hr />
-My Blog-

Merci cs_Bidou 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 89 internautes ce mois-ci

Commenter la réponse de cs_Bidou
Messages postés
191
Date d'inscription
mercredi 11 juillet 2007
Dernière intervention
30 juin 2011
- 17 déc. 2007 à 22:06
0
Merci
Ca fonctionne, génial :)) merci encore à vous !

Anz.
Commenter la réponse de cs_ansizak

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.