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 à "+" :

Code : Tout sélectionner

\d+[.,]\d{6}
 

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 :oops:

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 :mrgreen:

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: