begin process at 2012 02 14 05:39:31
  Trouver un code source :
 
dans
 
Accueil > Forum > 

VB.NET et VB 2005

 > 

Algorithme

 > 

Maths

 > 

Connaitre le nombre de chiffres après la virgule d'un nombre


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Connaitre le nombre de chiffres après la virgule d'un nombre

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

gillardg

culture oui ok c'est  1 plus

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ée 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 Limiter un nombre à deux chiffres après la virgule [ par js8bleu ] Bonjour à tous, soit un nombre n = 63,1553135565. J'aimerai savoir comment faire pour limiter ce nombre à deux chiffres après la virgule de telle sor 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 Nombres à virgules dans une Combobox [ par adri37 ] Bonjour, Dans un userform, j'utilise une textbox dans laquelle l'utilisateur ne peut mettre uniquement un nombre. Ce nombre est ensuite enregistrée d Connaitre le nombre d'enregistrement [ par edson44 ] [^^confus2]Bonsoir, je voudrais savoir s'il y aune instruction qui permet de connaitre le nombre d'enregistrement dans un fichier en vb 2005. s'il en 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


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,279 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales