CONVERTIR UN NOMBRE DÉCIMAL EN FRACTION

NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 - 10 juil. 2011 à 13:12
61euclide Messages postés 6 Date d'inscription mercredi 6 août 2008 Statut Membre Dernière intervention 26 avril 2012 - 18 juil. 2011 à 08:38
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/53369-convertir-un-nombre-decimal-en-fraction

61euclide Messages postés 6 Date d'inscription mercredi 6 août 2008 Statut Membre Dernière intervention 26 avril 2012
18 juil. 2011 à 08:38
Bravo, l'appli a trouvé 355/113 pour PI

J'ai remplacé la variable e par ee car l’évènement Text1_TextChanged possède un paramètre e As System.EventArgs

Pourquoi ne pas proposer à l'utilisateur le nombre de chiffres significatif (à priori 7)
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
13 juil. 2011 à 20:45
Bonsoir,

Pour faire encore mieux, à la place de IsNumeric qui est une fonction héritée de VB6, tu peux aussi utiliser : Double.TryParse(...) c'est plus .NET :)

@ghuysmans99, certes, j'ai fais un raccourcis rapide. Sur mes machines (Perso et bureau), j'ai mis le . comme séparateur à la place de la ,
cs_akzo Messages postés 133 Date d'inscription dimanche 23 juin 2002 Statut Membre Dernière intervention 3 janvier 2015 3
12 juil. 2011 à 10:06
hello,
Et bien quel effort par rapport à cette source ci
http://www.vbfrance.com/codes/FONCTION-MATHEMATIQUE-DECIMAL-FRACTION-IRREDUCTIBLE_22638.aspx
Pas mal continu
Salutation
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
10 juil. 2011 à 22:03
Pour connaitre si on utiise le point ou la virgule
il faut se baser sur la Culture currente du thread current.

http://msdn.microsoft.com/en-us/library/system.globalization.numberformatinfo.numberdecimalseparator.aspx
Guillaume170194 Messages postés 54 Date d'inscription dimanche 11 mai 2008 Statut Membre Dernière intervention 25 novembre 2021
10 juil. 2011 à 18:26
Merci pour les infos. Je n'y avais pas penser pour le remplacement du point. Vous me conseillez de mettre quoi à la place
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
10 juil. 2011 à 18:07
Ne définis pas non plus tes variables comme des chaines de caractères alors que ce sont en réalité des nombres !

@NHenry : "Ne fonctionnera que si la personne a un ordinateur français, sinon, ce ne sera jamais un numérique." --> j'ai une version anglaise de Windows et ça fonctionne très bien avec les paramètres régionaux mis correctement. Il faudrait plutôt parler de "personne qui a ses paramètres régionaux en français"
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
10 juil. 2011 à 13:12
Bonjour,

Quand tu nommes tes variables, essayes de mettre des noms explicites.

Ensuite, actives Option Strict (propriétés du projet), et corrige les erreurs de type.

Une petite explication (dans les commentaires du code) serait utile, car :g 1 / (g - e) : e Int(g) : h = a * e + c : c = a : a = h
Ne doit pas parler à beaucoup de monde.

Ta correction : If e.KeyChar "."c Then e.KeyChar ","c
Ne fonctionnera que si la personne a un ordinateur français, sinon, ce ne sera jamais un numérique.

Bonne journée :)
Rejoignez-nous