[..] Probleme comparaison de 2 nombre

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
stolmen
Niveau 1
Niveau 1
Messages : 8
Enregistré le : dim. 28 août 2011 00:13
Status : Hors ligne

[..] Probleme comparaison de 2 nombre

#1

Message par stolmen »

bonjour,

j'ai un petit probleme, je recupere deux nombre grace a _stringbetween()

je l'ai range dans deux variable : $nombre1 et $nombre2

mon probleme est le suivant : quand je veux comparer mes deux nombre, j'utilise une condition

if $nombre1 > $nombre 2 then ect

, et la sa plante, il me les compare come sil etait des chaine de caractere et non des nombre, il fait une comparaison lexicographique, en gros pour lui

2000 est bien plus grand que 1000
mai 500 est plus grand que 1000 et cest la que sa bloque

comment faire ??

Merci d'avance
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [...] Probleme comparaison de 2 nombre

#2

Message par pierrotm777 »

J'espère ne pas vous dire de bétise en regardant du côté de la fonction Number ...
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [...] Probleme comparaison de 2 nombre

#3

Message par Tlem »

Non, non, pierrotm777, ce n'est pas une bêtise et c'est tout à fait cela. ;)
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é".
Avatar du membre
PandiPanda
Membre émérite
Membre émérite
Messages : 656
Enregistré le : mar. 19 juil. 2011 14:03
Localisation : Bruxelles
Status : Hors ligne

Re: [...] Probleme comparaison de 2 nombre

#4

Message par PandiPanda »

j'ai étrangement pas ce problème ...
► Afficher le texteA ne pas faire, voir plus bas ^^
chez vous ce code fonctione t'il? est ce bien les conditions que vous dites? ^^
Modifié en dernier par PandiPanda le ven. 14 oct. 2011 19:34, modifié 1 fois.
La seule moralité qui tienne dans un monde cruel est la chance. Impartiale. Équitable. Vraie
Avatar du membre
moi
Niveau 7
Niveau 7
Messages : 370
Enregistré le : sam. 09 juil. 2011 22:14
Localisation : devant sont ordinateur
Status : Hors ligne

Re: [...] Probleme comparaison de 2 nombre

#5

Message par moi »

moi le probleme que je vois dans le premier poste c'est
stolmen a écrit :if $nombre1 > $nombre 2
plutot

Code : Tout sélectionner

if $nombre1 > [color=#40FF00]$nombre2[/color]
le problème ce n'est pas un problème, le seul problème ici c'est nous.

j'aime NYAN CAT Image
stolmen
Niveau 1
Niveau 1
Messages : 8
Enregistré le : dim. 28 août 2011 00:13
Status : Hors ligne

Re: [...] Probleme comparaison de 2 nombre

#6

Message par stolmen »

Code : Tout sélectionner

#Include <String.au3>

$between1="DEB500FIN"
$between2="DEB2000FIN"

_PlusGrand($between1,$between2)

Func _PlusGrand($test1,$test2)
    $nb1=_StringBetween($test1,"DEB","FIN")
    $nb2=_StringBetween($test2,"DEB","FIN")
    MsgBox(0,'',$nb1[0]&" : "&$nb2[0])
    If $nb1[0] > $nb2[0] Then
        MsgBox(0,'',$nb1[0]&" : nb1 plus grand")
    ElseIf $nb1[0] < $nb2[0] Then
        MsgBox(0,'',$nb2[0]&" : nb2 plus grand")
    Else
        MsgBox(0,'',"sont egaux")
    EndIf
EndFunc
voila, ce code m'affiche que 500 est plus grand que 2000 , ce qui est faux, voila mon probleme, je vais tester avec number

edit : a oui j'oubliais , merci pour vos reponses :)
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

Re: [...] Probleme comparaison de 2 nombre

#7

Message par Iste »

Quand on compare deux chaine, ca regarde si l'une est plus grande que l'autre "alphabétiquement" parlant ;)
Signez ici
stolmen
Niveau 1
Niveau 1
Messages : 8
Enregistré le : dim. 28 août 2011 00:13
Status : Hors ligne

Re: [...] Probleme comparaison de 2 nombre

#8

Message par stolmen »

oui sa j'ai deviné, et cest ce que j'ai di dans mon premier post, et justement je ne sais pas comment resoudre ce probleme
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

Re: [...] Probleme comparaison de 2 nombre

#9

Message par Iste »

baaah, pierrotm777 vous a répondu des le début

Code : Tout sélectionner

#Include <String.au3>

$between1="DEB500FIN"
$between2="DEB2000FIN"

_PlusGrand($between1,$between2)

Func _PlusGrand($test1,$test2)
    $nb1=_StringBetween($test1,"DEB","FIN")
    $nb2=_StringBetween($test2,"DEB","FIN")
    MsgBox(0,'',$nb1[0]&" : "&$nb2[0])
    If Number($nb1[0]) > Number($nb2[0]) Then
        MsgBox(0,'',$nb1[0]&" : nb1 plus grand")
    ElseIf Number($nb1[0]) < Number($nb2[0]) Then
        MsgBox(0,'',$nb2[0]&" : nb2 plus grand")
    Else
        MsgBox(0,'',"sont egaux")
    EndIf
EndFunc
moi je répondais surtout a PandiPanda qui a prit ZE exemple qui faut pas ^^
Signez ici
Avatar du membre
PandiPanda
Membre émérite
Membre émérite
Messages : 656
Enregistré le : mar. 19 juil. 2011 14:03
Localisation : Bruxelles
Status : Hors ligne

Re: [...] Probleme comparaison de 2 nombre

#10

Message par PandiPanda »

Ouai, j'ai vu apres xD ! ^^
mais bon, ca fera un bon exemple de script à Ne PAS faire :P
La seule moralité qui tienne dans un monde cruel est la chance. Impartiale. Équitable. Vraie
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: [...] Probleme comparaison de 2 nombre

#11

Message par jchd »

Iste a écrit :Quand on compare deux chaine, ca regarde si l'une est plus grande que l'autre "alphabétiquement" parlant ;)
Précisément, avec la collation Unicode définie par le réglage de langue en cours de validité :
► Afficher le texte
(sauvegarder en UTF-8 + BOM pour conserver les diacritiques)
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
stolmen
Niveau 1
Niveau 1
Messages : 8
Enregistré le : dim. 28 août 2011 00:13
Status : Hors ligne

Re: [...] Probleme comparaison de 2 nombre

#12

Message par stolmen »

a oui, je viens de tester, sa marche, merci a tous
xavierha
Niveau 3
Niveau 3
Messages : 31
Enregistré le : mer. 21 sept. 2011 23:08
Localisation : Atlanta, GA
Status : Hors ligne

Re: [...] Probleme comparaison de 2 nombre

#13

Message par xavierha »

Une solution simple:
La multiplication fait une conversion implicite de chaine a numerique.
Donc si tu sais que $N1 et $N2 sont numeriques, meme s'ils sont des chaines, tu peux faire

Code : Tout sélectionner

if $N1 * 1 < $N2 * 1 Then
et tu auras une comparaison valide.
Si $N1 n'est pas numerique, il sera vu comme un zero.
Répondre