[R] Vérification d'un entier

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Hoera
Niveau 1
Niveau 1
Messages : 3
Enregistré le : sam. 14 sept. 2013 17:07
Status : Hors ligne

[R] Vérification d'un entier

#1

Message par Hoera »

Bonjour à tous, je cherche une fonction qui me permettrais de verifier si un résultat donné est un nombre entier, j'ai cherché dans l'aide mais je n'ai rien trouvé. J'espere que vous me répondrez rapidement !
Modifié en dernier par Hoera le sam. 14 sept. 2013 21:50, modifié 2 fois.
Sea
Niveau 6
Niveau 6
Messages : 219
Enregistré le : ven. 22 juin 2012 18:51
Localisation : France
Status : Hors ligne

Re: [..]Vérification d'un entier

#2

Message par Sea »

IsInt est ton ami ;)
Hoera
Niveau 1
Niveau 1
Messages : 3
Enregistré le : sam. 14 sept. 2013 17:07
Status : Hors ligne

Re: [..]Vérification d'un entier

#3

Message par Hoera »

Merci beaucoup pour ta réponse tres rapide !

J'ai fais ca :

Code : Tout sélectionner

$carre = InputBox("Carré parfait", "Insérez un nombre")
$int = IsInt($carre)
If $int = 1 Then
    MsgBox("0", "Oui", "Le carré est parfait.")
ElseIf $int = 0 Then
    MsgBox("0", "Non", "Le carré n'est pas parfait.")
EndIf
Mais il me dit toujours que le carré n'est pas parfait, qu'est-ce qui cloche ?
Avatar du membre
TT22
Membre émérite
Membre émérite
Messages : 1566
Enregistré le : lun. 18 avr. 2011 15:21
Localisation : La Quatrième Dimension
Status : Hors ligne

Re: [..]Vérification d'un entier

#4

Message par TT22 »

Salut, essaye

Code : Tout sélectionner

$carre = [b]Number[/b](InputBox("Carré parfait", "Insérez un nombre"))
$int = IsInt($carre)
If $int = 1 Then
    MsgBox("0", "Oui", "Le carré est parfait.")
ElseIf $int = 0 Then
    MsgBox("0", "Non", "Le carré n'est pas parfait.")
EndIf
En effet, la documentation de la fonction IsInt précise "returns 0 since is a string".
Autrement dit la fonction InputBox retournant une chaine de caractère, il faut la convertir en nombre avec Number avant de d'utiliser IsInt :wink:
Cordialement,
TT22
Hoera
Niveau 1
Niveau 1
Messages : 3
Enregistré le : sam. 14 sept. 2013 17:07
Status : Hors ligne

Re: [..] Vérification d'un entier

#5

Message par Hoera »

Ah oui, merci beaucoup ! J'ai un peu modifié le code et ca donne ca :

Code : Tout sélectionner

$carre = Number(InputBox("Carré parfait", "Insérez un nombre"))
$carre = Sqrt($carre)
$int = IsInt($carre)
If $int = 1 Then
    MsgBox("0", "Oui", "Le carré est parfait.")
ElseIf $int = 0 Then
    MsgBox("0", "Non", "Le carré n'est pas parfait.")
EndIf
Merci pour toutes vos réponses :)
Sea
Niveau 6
Niveau 6
Messages : 219
Enregistré le : ven. 22 juin 2012 18:51
Localisation : France
Status : Hors ligne

Re: [..] Vérification d'un entier

#6

Message par Sea »

Pense à modifier ton premier post et à mettre en [R] si ton problème est résolu ;)
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Vérification d'un entier

#7

Message par Tlem »

Pensez aussi à utiliser la balise de code pour présenter un code.

Sinon en version condensée :

Code : Tout sélectionner

$Input = InputBox("Carré parfait", "Insérez un nombre")
If IsInt(Sqrt(Number($Input))) Then
    MsgBox("0", "Oui", "Le carré est parfait.")
Else
    MsgBox("0", "Non", "Le carré n'est pas parfait.")
EndIf
Ou encore plus condensé :

Code : Tout sélectionner

If IsInt(Sqrt(Number(InputBox("Carré parfait", "Insérez un nombre")))) Then
    MsgBox("0", "Oui", "Le carré est parfait.")
Else
    MsgBox("0", "Non", "Le carré n'est pas parfait.")
EndIf
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
TT22
Membre émérite
Membre émérite
Messages : 1566
Enregistré le : lun. 18 avr. 2011 15:21
Localisation : La Quatrième Dimension
Status : Hors ligne

Re: [R] Vérification d'un entier

#8

Message par TT22 »

Ou encore plus plus condensé :

Code : Tout sélectionner

If IsInt(Sqrt(Number(InputBox("Carré parfait", "Insérez un nombre")))) Then Exit MsgBox("0", "Oui", "Le carré est parfait.")
MsgBox("0", "Non", "Le carré n'est pas parfait.")
Cordialement,
TT22
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2130
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [R] Vérification d'un entier

#9

Message par TommyDDR »

Sans exit :

Code : Tout sélectionner

#include <Misc.au3>
MsgBox(0, "", _Iif(IsInt(Sqrt(Number(InputBox("Carré parfait", "Insérez un nombre")))), "Oui, Le carré est parfait.", "Non, Le carré n'est pas parfait."))
Et quand l'opérateur ternaire sera de sortie (prochaine version d'AutoIt) :

Code : Tout sélectionner

MsgBox(0, "", IsInt(Sqrt(Number(InputBox("Carré parfait", "Insérez un nombre")))) ? "Oui, Le carré est parfait." : "Non, Le carré n'est pas parfait.")
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
TT22
Membre émérite
Membre émérite
Messages : 1566
Enregistré le : lun. 18 avr. 2011 15:21
Localisation : La Quatrième Dimension
Status : Hors ligne

Re: [R] Vérification d'un entier

#10

Message par TT22 »

TommyDDR a écrit :Et quand l'opérateur ternaire sera de sortie (prochaine version d'AutoIt)
C'est une bonne nouvelle, ça manquait vraiment à AutoIt.
Cordialement,
TT22
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] Vérification d'un entier

#11

Message par Tlem »

TT22 a écrit :Ou encore plus plus condensé :
J'y avais pensé, mais c'est déjà moins lisible.
TommyDDR a écrit :TommyDDR
Ok, mais ca oblige l'include et l'utilisation d'une fonction externe !!!
L'opérateur ternaire n'étant pas encore disponible, cette solution est certes valable, mais non applicable. Comme on ne sait pas si untel ou untel utilisera une version supérieure à la 3.3.8.1, il faudra très certainement prendre des pincettes avant de proposer des fonctions qui ne seront disponibles qu'à partir de la 3.4.0.0. ^^
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
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [R] Vérification d'un entier

#12

Message par mikell »

+1
C'est très exactement la raison pour laquelle je tourne avec la release et pas avec la dernière beta, qui reste un gadget tant qu'elle ne devient pas la nouvelle release
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Répondre