Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Connaitre le nombre de chiffres après la virgule d'un nombre [ Algorithme / Maths ] (Dagry)

vendredi 29 août 2008 à 21:27:25 | Connaitre le nombre de chiffres après la virgule d'un nombre

Dagry

Bonjour à tous! je me tourne encore vers vous pour m'aider à résoudre un problème. J'aimerais savoir comment connaitre le nombre de chiffres après la virgule d'un nombre décimal. je compte sur vous. merci de votre aide!

vendredi 29 août 2008 à 21:47:55 | Re : Connaitre le nombre de chiffres après la virgule d'un nombre

us_30

Membre Club
Bonsoir,

Dans quel contexte cela s'inscrit ? La question est un peu vague... En effet, comment ton nombre décimal est-il formé ?

Si  tu le définis dans ton code, par exemple "a=41234.1234124" , ta question revient à demander : comment extraire la partie décimale.

Si il résulte d'un calcul, par exemple " a = 1/7 ", la réponse n'est plus informatique, mais mathématique... En effet, ici la partie décimale est infinie...

IL faudrait donc préciser plus ta question, et pourquoi tu as besoin d'extraire la partie décimale...

Amicalement,
Us.

vendredi 29 août 2008 à 22:26:20 | Re : Connaitre le nombre de chiffres après la virgule d'un nombre

Dagry

d'accord. le nombre résulte d'un calcul. et dans le pire des cas si la partie décimale est énorme on se limite à 19 chiffres

vendredi 29 août 2008 à 22:26:22 | Re : Connaitre le nombre de chiffres après la virgule d'un nombre

candyraton

CLng, fonction, exemple
 				Dim MyVal1, MyVal2, MyLong1, MyLong2
MyVal1 = 25427.45: MyVal2 = 25427.55 ' MyVal1, MyVal2 sont des valeurs ' de type Double.
MyLong1 = CLng(MyVal1) ' MyLong1 contient 25427.
MyLong2 = CLng(MyVal2) ' MyLong2 contient 25428.
ou tu le fait par les math:soustraction
ou par la chaine: len(str
( MyLong1 )) renvoi le nbre de chiffres
resultat=right(
str(MyVal1),x )'x etant le nbre de string a prendre
ça donne:
resultat=right( str(MyVal1), len(str ( MyVal1 ))- len(str ( MyLong1 ))
c une façon de faire
si ça peut t'aider
mais y'a peut etre une fonction vb qui le fait direct;
elles sont là http://msdn.microsoft.com/fr-fr/library/32s6akha(VS.80).aspx


vendredi 29 août 2008 à 22:30:42 | Re : Connaitre le nombre de chiffres après la virgule d'un nombre

candyraton

 				 						 						 				 				 						 								resultat=right( 						 				 				str(MyVal1), 				len(str 				 						 								( 						 				 				MyVal1 				 						 								))- 						 				 				len(str 				 						 								( 						 				 				MyLong1 				 						 						 						 								)))
flute!

vendredi 29 août 2008 à 23:25:36 | Re : Connaitre le nombre de chiffres après la virgule d'un nombre

gillardg

Dim s() As String

Dim x As Double = Math.PI

s = x.ToString.Split(

"," )

MsgBox(x & vbCrLf & s(1).Length)



Bonjour chez vous !

samedi 30 août 2008 à 00:07:00 | Re : Connaitre le nombre de chiffres après la virgule d'un nombre

Dagry

merci super super astucieux je vais essayer

samedi 30 août 2008 à 01:04:25 | Re : Connaitre le nombre de chiffres après la virgule d'un nombre

PCPT

Administrateur CodeS-SourceS
outchhhhhh

un split pour un seul caractère?
en plus "," sans vérifier le séparateur?

SI on doit passer par la conversion string (pas certain), culture, indexof et substring si besoin de récupérer la valeur, sinon juste culture et length - indexof

++

Prenez un instant pour répondre à ce sondage svp  

samedi 30 août 2008 à 01:08:17 | Re : Connaitre le nombre de chiffres après la virgule d'un nombre
samedi 30 août 2008 à 02:02:16 | Re : Connaitre le nombre de chiffres après la virgule d'un nombre

Kevin.Ory

Non c'est obligatoire :)
Chez moi en Suisse, le séparateur est un point, tout comme la norme internationale d'ailleurs (chez Microsoft en tout cas). Ce code ne fonctionne donc pas chez moi.
De plus, la méthode ToString formate en notation scientifique dans certain cas: 0.00002 est formaté en "2E-05", plus de virgule!

Il faudrait savoir si la source du nombre est String ou un nombre flottant. Si c'est un string, on utilise de simple fonction pour les chaines de caractères comme la méthode de Gillardg. Entre parenthèse, voici un solution donnant le même résultat que Gillardg mais sans le Split (a utiliser lorsque la source est un String):
  Dim value As String = "123456789.123456789"
  Dim nbrDec As Integer = value.Length - value.IndexOf(".") - 1

Si la source est un nombre flottant (Single ou Double), ça semble plus compliqué. J'ai testé différent formats numérique, mais elles ne donnent pas le résultat escompté. Par exemple :
  Dim value As Double = 123456789.12345679
  Console.WriteLine(value.ToString("#.###################"))
Ceci affiche 123456789.123457. Pourquoi les 2 derniers chiffres sont-il perdu?
Le seul format qui affiche toutes les décimales, est le format "R" pour "Round-Trip" (Aller-retour): "Le spécificateur d'aller-retour garantit qu'une valeur numérique convertie en chaîne sera analysée dans la même valeur numérique". Je ne comprend pas bien cette phrase, la version en anglais me parle plus: "The round-trip specifier guarantees that a numeric value converted to a string will be parsed back into the same numeric value"
Il s'agit apparemment du format utilisé par IntelliSense.
Le hic, c'est que ce format convertit aussi en notation scientifique pour simplifier le résultat (0.0000000000000001 devient "1E-16")

Gérer manuellement les exposants? Mouais, c'est pas très élégant...







1 2 3 4 5 6

Cette discussion est classé dans : nombre, chiffres, connaitre, virgule


Répondre à ce message

Sujets en rapport avec ce message

Comment augmenter le nombre de chiffres après la virgule? [ par Olisoft ] Je cherche comment je peux augmenter le nombre de chiffres après la virgule dans un "label" ou un "text" après un calcul. J'arrive seulement à avoir msflexgrid, nombre décimal à 2 chiffres après la virgule [ par SANFER ] comment afficher le resultat a 2 chiffres apres la virgule d'un calcul dans une cellule de msflexgrid ogp2 format d'un nombre [ par chris_p ] LutSur un log sous vb7, toutes mes varibles pour mes calculs sont des nombres de type string.A l'affichage final, dans mon text de label, du fait qu'i Comment parametrer le nombre de chiffres apres la virgule d'une opération [ par Tmagnum ] Salut à vous, Je bloque sur un format de rèsultat d'opération, lorsque que j'execute une multiplication ou une division sous VB, le résultat contien Nombre de chiffres après la virgule avec un label... [ par isaak57 ] Bonjour j'ai un petit programme qui affiche un résultat numerique dans un label  (sous vb 2008 express), mais je voudrais limiter le nombre de chiffre grands nombre [ par lemoutonfou1 ] Salut a tousJ'aimerais faire un programme de calcul avec beaucoup de chiffres significatifs (plus de 200) .Quel langage de programmation ,pensez-vous Reste de la division d'un nombre à 25 chiffres [ par GigaCool ] Je n'arrive pas à trouver contourner le problème de dépassement de capacité en recherchant le mod d'un nombre de 25 chiffres! Les fonctions MOD et alg 2 chiffres apres la virgule [ par prince4878 ] Salut tout le monde, je suis sur VB2005/MYSQL , je voudrai savoir comment ne prendre que 2 chiffres apres la virgule ( a partir de VB et vice-versa ). Limiter Chiffres apres Virgule [ par zodiaque11 ] salutje suis un debutant j'ai crée un textbox  nommé TxtCapital alors j'ai arrivé à interdire de saisir des lettres dedans en utilisant Keypressmais j virgule ou point [ par ecthug ] bonjourutilisant excel 2007 et vba je voudrais entrer un  un nombre decimal avec une virgule ou avec un point(du pavé numerique) sans que cele pose pr


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,530 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.