MathIsValidNumber funktioniert nicht auf diese Weise. Es würde "Four" nicht als 4 verstehen, genauso wenig wie "four" oder "FOUR" oder "vier" oder "quatre" oder "quatro".
Wenn Sie "Four" als Double ausgeben, ist das Ergebnis 0.
Da 0 eine gültige Zahl ist, gibt Ihre Funktion true zurück.
Sie müssen Ihre eigenen Konvertierungen von Wörtern in Zahlen einbauen, wenn Sie das erreichen wollen.
Ihr Compiler sollte Sie vor einer impliziten Konvertierung gewarnt haben ... haben Sie
am Anfang Ihres Codes?
MathIsValidNumber funktioniert nicht auf diese Weise. Es würde "Four" nicht als 4 verstehen, genauso wenig wie "four" oder "FOUR" oder "vier" oder "quatre" oder "quatro".
Wenn Sie "Four" als Double ausgeben, ist das Ergebnis 0.
Da 0 eine gültige Zahl ist, gibt Ihre Funktion true zurück.
Sie müssen Ihre eigenen Konvertierungen von Wörtern in Zahlen einbauen, wenn Sie das erreichen wollen.
Ihr Compiler sollte Sie vor einer impliziten Konvertierung gewarnt haben ... haben Sie
am Anfang Ihres Codes?
Ich glaube, Sie haben die Antwort nicht verstanden
Wenn Sie eine Zeichenkette wie "Four" oder "banana" oder "MetaQuotes" in ein Double einfügen, ist das Ergebnis 0.
0 ist eine gültige Zahl.
Wenn Sie #property strict verwenden würden, hätte Ihr Compiler Sie auf dieses Problem aufmerksam gemacht.
Sie können testen, dass die "Zahl" nicht 0 ist, aber Sie können nicht feststellen, ob sie absichtlich als 0 eingegeben wurde, oder ob sie beim Casting einfach in 0 umgewandelt wurde.
double as_double = (double) ObjectGetString(0,"SimultaneousReleaseIndex",OBJPROP_TEXT);
if(as_double !=0 && MathIsValidNumber(as_double)) Print("Object Text Is Numeric");
Ich glaube, Sie haben die Antwort nicht verstanden
Wenn Sie eine Zeichenkette wie "Four" oder "banana" oder "MetaQuotes" in ein Double einfügen, ist das Ergebnis 0.
0 ist eine gültige Zahl.
Wenn Sie #property strict verwenden würden, hätte Ihr Compiler Sie auf dieses Problem aufmerksam gemacht.
Bitte lesen Sie meinen Beitrag noch einmal.
Stimmen Sie zu, dass 0 eine gültige Zahl ist?
Bitte lesen Sie meinen Beitrag noch einmal.
Stimmen Sie zu, dass 0 eine gültige Zahl ist?
Natürlich ist 0 eine gültige Zahl
Welchen Teil meiner Antwort haben Sie also nicht verstanden?
Um es noch einmal zu wiederholen:
Wenn Sie "Vier" in einen Double umwandeln, ist das Ergebnis 0.
Da 0 eine gültige Zahl ist, gibt Ihre Funktion true zurück.
Wenn Sie eine Zeichenkette wie "Four" oder "banana" oder "MetaQuotes" in ein Double umwandeln, ist das Ergebnis 0.
0 ist eine gültige Zahl.
Welchen Teil meiner Antwort haben Sie also nicht verstanden?
Wenn ich sage, mach eine Zahl aus "sdgfjhsdfkjdshfkjsfdhskdjh", welche Zahl würdest du mir geben?
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
if (MathIsValidNumber(ObjectGetString(0,"SimultaneousReleaseIndex",OBJPROP_TEXT))==true){Print("Object Text Is Numeric");}