Page 1 sur 1
[R] Vérification d'un entier
Posté : sam. 14 sept. 2013 17:11
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 !
Re: [..]Vérification d'un entier
Posté : sam. 14 sept. 2013 17:22
par Sea
IsInt est ton ami

Re: [..]Vérification d'un entier
Posté : sam. 14 sept. 2013 17:39
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 ?
Re: [..]Vérification d'un entier
Posté : sam. 14 sept. 2013 18:02
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 
Re: [..] Vérification d'un entier
Posté : sam. 14 sept. 2013 18:24
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

Re: [..] Vérification d'un entier
Posté : sam. 14 sept. 2013 18:59
par Sea
Pense à modifier ton premier post et à mettre en [R] si ton problème est résolu

Re: [..] Vérification d'un entier
Posté : sam. 14 sept. 2013 21:38
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
Re: [R] Vérification d'un entier
Posté : dim. 15 sept. 2013 15:52
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.")
Re: [R] Vérification d'un entier
Posté : dim. 15 sept. 2013 17:14
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.")
Re: [R] Vérification d'un entier
Posté : dim. 15 sept. 2013 20:24
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.
Re: [R] Vérification d'un entier
Posté : dim. 15 sept. 2013 21:14
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. ^^
Re: [R] Vérification d'un entier
Posté : dim. 15 sept. 2013 22:00
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