MathIsValidNumber ne fonctionne pas de cette façon. Il ne comprendrait pas "Four" comme 4, pas plus que "four" ou "FOUR" ou "vier" ou "quatre" ou "quatro".
Si vous convertissez "Four" en un double, le résultat est 0.
Comme 0 est un nombre valide, votre fonction renvoie vrai.
Vous devrez intégrer vos propres conversions de mots en nombres si vous souhaitez obtenir ce résultat.
Votre compilateur aurait dû vous avertir d'une conversion implicite ... avez-vous mis
en haut de votre code ?
MathIsValidNumber ne fonctionne pas de cette façon. Il ne comprendrait pas "Four" comme 4, pas plus que "four" ou "FOUR" ou "vier" ou "quatre" ou "quatro".
Si vous convertissez "Four" en un double, le résultat est 0.
Comme 0 est un nombre valide, votre fonction renvoie vrai.
Vous devrez intégrer vos propres conversions de mots en nombres si vous souhaitez obtenir ce résultat.
Votre compilateur aurait dû vous avertir d'une conversion implicite ... avez-vous mis
en haut de votre code ?
Je pense que vous ne comprenez pas la réponse
Si vous introduisez une chaîne de caractères comme "Four" ou "banana" ou "MetaQuotes" dans un double, le résultat est 0.
0 est un nombre valide.
Si vous utilisiez #property strict, votre compilateur vous aurait averti de ce problème.
Vous pouvez tester que le "nombre" n'est pas 0, mais vous ne pouvez pas vérifier s'il a été délibérément entré comme 0, ou s'il a simplement été converti en 0 lors du casting.
double as_double = (double) ObjectGetString(0,"SimultaneousReleaseIndex",OBJPROP_TEXT);
if(as_double !=0 && MathIsValidNumber(as_double)) Print("Object Text Is Numeric");
Je pense que vous ne comprenez pas la réponse
Si vous insérez une chaîne de caractères comme "Four" ou "banana" ou "MetaQuotes" dans un double, le résultat est 0.
0 est un nombre valide.
Si vous utilisiez #property strict, votre compilateur vous aurait averti de ce problème.
Veuillez relire mon message.
Êtes-vous d'accord que 0 est un nombre valide ?
Bien sûr, 0 est un nombre valide
Quelle partie de ma réponse ne comprenez-vous pas ?
Pour réitérer encore une fois :
Si vous transformez "Quatre" en un double, le résultat est 0.
Comme 0 est un nombre valide, votre fonction renvoie vrai.
Si vous transformez une chaîne de caractères comme "Four" ou "banana" ou "MetaQuotes" en un double, le résultat est 0.
0 est un nombre valide.
Quelle partie de ma réponse ne comprenez-vous pas ?
Si je te disais de faire un nombre à partir de "sdgfjhsdfkjdshfkjsfdhskdjh", quel nombre me donnerais-tu ?

- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Vous acceptez la politique du site Web et les conditions d'utilisation
if (MathIsValidNumber(ObjectGetString(0,"SimultaneousReleaseIndex",OBJPROP_TEXT))==true){Print("Object Text Is Numeric");}