Page 1 sur 1
[R] Nombre de chiffre après la virgule
Posté : ven. 09 juil. 2010 21:15
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 !
Re: [..] Nombre de chiffre après la virgule
Posté : ven. 09 juil. 2010 21:26
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, '')
Re: [..] Nombre de chiffre après la virgule
Posté : sam. 10 juil. 2010 06:56
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)
Re: [..] Nombre de chiffre après la virgule
Posté : sam. 10 juil. 2010 14:53
par sylvanie
Bonjour,
pour la complèter avec la condition énoncée, on peut rendre le nombre de digits généric gâce à "+" :
Re: [..] Nombre de chiffre après la virgule
Posté : sam. 10 juil. 2010 18:21
par pierrotm777
Merci beaucoup !
Re: [R] Nombre de chiffre après la virgule
Posté : lun. 12 juil. 2010 18:26
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
Re: [R] Nombre de chiffre après la virgule
Posté : lun. 12 juil. 2010 23:22
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
Re: [R] Nombre de chiffre après la virgule
Posté : mar. 13 juil. 2010 03:06
par arrkhan
merci de m'apprendre l'humilité Ô noble modérateur

Re: [R] Nombre de chiffre après la virgule
Posté : mar. 13 juil. 2010 08:21
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.

Re: [R] Nombre de chiffre après la virgule
Posté : mer. 14 juil. 2010 08:58
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

Re: [R] Nombre de chiffre après la virgule
Posté : mer. 14 juil. 2010 08:59
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)
Re: [R] Nombre de chiffre après la virgule
Posté : mer. 14 juil. 2010 14:02
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.
Re: [R] Nombre de chiffre après la virgule
Posté : mer. 14 juil. 2010 21:28
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: