[R] Nombre de chiffre après la virgule

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

[R] Nombre de chiffre après la virgule

#1

Message par pierrotm777 »

Bonjour,

Je n'arrive pas à trouver la commande qui me permettrait de simplifier un nombre décimal à 6 chiffres max aprés la virgule ou aprés le point.

46,897979797979797 ---> 46,897979

ou

46.897979797979797 ---> 46.897979

Merci de votre aide par avance !
Modifié en dernier par pierrotm777 le sam. 10 juil. 2010 18:21, modifié 1 fois.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Nombre de chiffre après la virgule

#2

Message par Tlem »

Une petite expression régulière fera largement l'affaire :

Code : Tout sélectionner

#include<Array.au3>

$Nombre = "46,454545454646464747"
$Res = StringRegExp($Nombre, "(\d{2}[.,]\d{6})",1)
_ArrayDisplay($Res, '')

$Nombre = "46.454545454646464747"
$Res = StringRegExp($Nombre, "(\d{2}[.,]\d{6})",1)
_ArrayDisplay($Res, '')
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Nombre de chiffre après la virgule

#3

Message par pierrotm777 »

Merci Tlem pour cette réponse qui me convient tout à fait.

J'ai juste omis de préciser qu'il peut y avoir plus de 2 chiffres avant la virgule ou le point, (1 à 4 disons)
Avatar du membre
sylvanie
Niveau 11
Niveau 11
Messages : 1556
Enregistré le : jeu. 26 juil. 2007 21:31
Localisation : Paris
Status : Hors ligne

Re: [..] Nombre de chiffre après la virgule

#4

Message par sylvanie »

Bonjour,

pour la complèter avec la condition énoncée, on peut rendre le nombre de digits généric gâce à "+" :

Code : Tout sélectionner

\d+[.,]\d{6}
 
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Nombre de chiffre après la virgule

#5

Message par pierrotm777 »

Merci beaucoup !
Avatar du membre
arrkhan
Niveau 8
Niveau 8
Messages : 528
Enregistré le : sam. 17 nov. 2007 03:30
Status : Hors ligne

Re: [R] Nombre de chiffre après la virgule

#6

Message par arrkhan »

j'arrive un peu après la résolution du problème, mais il y a plus simple :

http://www.autoitscript.com/autoit3/doc ... /Round.htm
Avatar du membre
timmalos
Niveau 11
Niveau 11
Messages : 1970
Enregistré le : dim. 18 mai 2008 15:16
Status : Hors ligne

Re: [R] Nombre de chiffre après la virgule

#7

Message par timmalos »

Bien essayé arrkhan mais tu arrives après la bataille, les generaux sont dejà passés par là et ils n'avaient pas oublié cette solution.
Mais un round de 46.897979797979797 renverrait 46.897980 et non 46.897979 comme le souhaite pierrot. En gros il faut pouvoir faire une troncature et non un arrondi, et la garde rapprochée a essayée de trouver une autre solution que celle proposée par Tlem sans succès.
Bref, tu nous conduis directement à Waterloo là !

Nb : Veuillez m'excuser pour cette mauvaise blague
Avatar du membre
arrkhan
Niveau 8
Niveau 8
Messages : 528
Enregistré le : sam. 17 nov. 2007 03:30
Status : Hors ligne

Re: [R] Nombre de chiffre après la virgule

#8

Message par arrkhan »

merci de m'apprendre l'humilité Ô noble modérateur :oops:
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Nombre de chiffre après la virgule

#9

Message par Tlem »

Il faut surtout retenir que pierrotm777 souhaite tronquer un nombre ou une expression ...

En effet, il y a le cas du point et de la virgule.
Or les expressions mathématique ne s'appliqueront qu'aux nombres. ;)
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Nombre de chiffre après la virgule

#10

Message par pierrotm777 »

Merci pour votre aide les gars.

Encore une fois c'est bien ce que je voulais , mais je rgarde en mémoire la fonction Round que je ne connaissait pas.

Marci encore :mrgreen:
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Nombre de chiffre après la virgule

#11

Message par pierrotm777 »

Tiens, juste une petite question.

Pourquoi ce MsgBox ne marche pas dans ce cas là ?

Code : Tout sélectionner

$Nombre = "1246,454545454646464747"
$Res = StringRegExp($Nombre, "(\d+[.,]\d{6})",1)
MsgBox(0,"*******************",$Res)
Avatar du membre
timmalos
Niveau 11
Niveau 11
Messages : 1970
Enregistré le : dim. 18 mai 2008 15:16
Status : Hors ligne

Re: [R] Nombre de chiffre après la virgule

#12

Message par timmalos »

StringRegExp renvoi un tableau, vous ne regardez pas suffisamment l'aide vous auriez du comprendre par vous même.
Essayez _ArrayDisplay à la place.
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Nombre de chiffre après la virgule

#13

Message par pierrotm777 »

Je sais que je ne regarde pas assez l'aide. Et pourtant !

Mon problème c'est l'anglais !

Merci tou de même:mrgreen:
Répondre