[R] Arrondi au plus proche

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
milka
Niveau 4
Niveau 4
Messages : 55
Enregistré le : sam. 03 avr. 2010 17:00
Status : Hors ligne

[R] Arrondi au plus proche

#1

Message par milka »

Bonjour, connaissant la fonction Floor pour arrondir à l'entier inferieur et Ceiling pour arrondir à l'entier supérieur, je me demandait si il n'existait pas de fonction pour arrondir à l'entier le plus proche.

Merci d'avance :)
milka
Modifié en dernier par milka le mer. 19 janv. 2011 20:45, modifié 1 fois.
Avatar du membre
jbnh
Niveau 11
Niveau 11
Messages : 1932
Enregistré le : ven. 02 mai 2008 14:54
Localisation : Bruxelles
Status : Hors ligne

Re: [..] Arrondi au plus proche

#2

Message par jbnh »

C'est justement la fonction de floor et ceiling ... ?
Balise [..] devant votre requête en cours, [R] quand résolu | Pas de message concernant les bots !

Merci
Avatar du membre
milka
Niveau 4
Niveau 4
Messages : 55
Enregistré le : sam. 03 avr. 2010 17:00
Status : Hors ligne

Re: [..] Arrondi au plus proche

#3

Message par milka »

Mais justement, je cherche une fonction qui arrondit au nombre le plus proche ;)
Par exemple, 5.8 devient 6 et 5.4 devient , avec la meme fonction
Avatar du membre
bloodwolff
Membre émérite
Membre émérite
Messages : 655
Enregistré le : ven. 18 avr. 2008 22:36
Localisation : Québec
Status : Hors ligne

Re: [..] Arrondi au plus proche

#4

Message par bloodwolff »

Hummm round ?
[optional] Number indicating how many places to the right of the decimal are included in the rounding. If omitted, Round returns an integer.
Compte skype : bloodwolfff
Avatar du membre
milka
Niveau 4
Niveau 4
Messages : 55
Enregistré le : sam. 03 avr. 2010 17:00
Status : Hors ligne

Re: [..] Arrondi au plus proche

#5

Message par milka »

C'est exactement de ça que j'avais besoin :)
Merci beaucoup :D
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [R] Arrondi au plus proche

#6

Message par jchd »

... et nous sommes bien chanceux que l'implémentation de Round() dans AutoIt n'ait pas les inconvénients de l'équivalent dans bien des langages :

ConsoleWrite(Round(3.05, 1) & @LF)
3.1

Ouf ! <-- sans rire !
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Nemo85
Niveau 1
Niveau 1
Messages : 5
Enregistré le : ven. 22 avr. 2011 19:58
Status : Hors ligne

Re: [R] Arrondi au plus proche

#7

Message par Nemo85 »

Bonjour,

oui très pratique cette fonction, mais est-ce possible de forcer en l'arrondi supérieure ex : 694.574 doit devenir 694.58

Merci, bàv
Nemo
overflow
Niveau 5
Niveau 5
Messages : 138
Enregistré le : sam. 05 déc. 2009 23:49
Status : Hors ligne

Re: [R] Arrondi au plus proche

#8

Message par overflow »

Nemo85 a écrit :Bonjour,

oui très pratique cette fonction, mais est-ce possible de forcer en l'arrondi supérieure ex : 694.574 doit devenir 694.58

Merci, bàv
Nemo
il te faudra ecrire une fonction je crois car au niveau des math arrondire te donnera la valeur la plus pres
donc la pour 694.574 ca donneras 694.57
Avatar du membre
milka
Niveau 4
Niveau 4
Messages : 55
Enregistré le : sam. 03 avr. 2010 17:00
Status : Hors ligne

#9

Message par milka »

C'est un peu barbare, mais :
► Afficher le texte
Nemo85
Niveau 1
Niveau 1
Messages : 5
Enregistré le : ven. 22 avr. 2011 19:58
Status : Hors ligne

Re: [R] Arrondi au plus proche

#10

Message par Nemo85 »

Merci, je vais creuser dans ce sens
c'est vrai que le Round arrondi ce qui est inférieur à 5 à l'unité inférieure et ce qui est = ou > 5 à l'unité supérieure. Ce que je dois faire c'est que tout passe à l'unité supérieure que ce soit 0.001 ou 0.009 ca doit faire 0.01 (toujours deux décimales)
Nemo85 a écrit : 694.574 doit devenir 694.58
Je ne capte pas bien ton code, il fait pareil que round : 694.574 => 694.57 et 694.575 => 694.58

bàv,
Nemo
overflow
Niveau 5
Niveau 5
Messages : 138
Enregistré le : sam. 05 déc. 2009 23:49
Status : Hors ligne

Re: [R] Arrondi au plus proche

#11

Message par overflow »

hé hé j aime ces post a rallonge ou chaqu un fait sa soupe ^^

Alors voici ma version au legumes de chez moi !!!!

lol


Code : Tout sélectionner

MsgBox(0,"",ArrondiSup(InputBox("","Nombre a virgule")))


Func ArrondiSup($arg)
    Local $2E=False,$Float="",$Entier=""
    If $arg=0 Then
        MsgBox(0,"","0 / 0 = Tete a toto !!")
        Return
    ElseIf Round($arg)/$arg=1 Then
        MsgBox(0,"","Ce n est pas un Nombre a virgule")
        Return
    EndIf
    $arg=StringToBinary($arg)


        For $x=3 to StringLen($arg) step 2

            If $2E Then $Float &=StringMid($arg,$x,2)
            If Not $2E And StringMid($arg,$x,2)<>"2E" Then $Entier &=StringMid($arg,$x,2)
            If StringMid($arg,$x,2)="2E" Then $2E=True
        Next
        If StringLen($Float)=2 Then
            Return Ceiling(BinaryToString("0x" &$Entier& "2E31"))
        Else
            $Modif=BinaryToString("0x" &$Entier) & "." & Ceiling(BinaryToString("0x"& StringLeft($Float,StringLen($Float)-2) & "2E" & StringRight($Float,2)))
            Return $Modif
        EndIf
EndFunc

 
Nemo85
Niveau 1
Niveau 1
Messages : 5
Enregistré le : ven. 22 avr. 2011 19:58
Status : Hors ligne

Re: [R] Arrondi au plus proche

#12

Message par Nemo85 »

le potage est excellent !

j'ai de quoi dîner merci,

bàv,
Nemo
Avatar du membre
bloodwolff
Membre émérite
Membre émérite
Messages : 655
Enregistré le : ven. 18 avr. 2008 22:36
Localisation : Québec
Status : Hors ligne

Re: [R] Arrondi au plus proche

#13

Message par bloodwolff »

Code : Tout sélectionner

Func decimalsup($nombre, $decimal)
    Return Ceiling($nombre*10^$decimal)/10^$decimal
EndFunc
Compte skype : bloodwolfff
Répondre