Was ist der Wert der unten in VbscriptVerwendung von + Operator in differents Situationen in Vbscript
1)x=1+"1" 2)x="1"+"1" 3)x=1+"mulla"
Hinweis: In allen drei oben genannten Fällen, die ich erste Variable entweder als String oder Integer verwende und die zweite auf wie immer als Zeichenfolge.
Fall 1: Acting als numerischer und Auto Umwandlung in numerische während des Betriebs
enter code here
y=inputbox("Enter a numeric value","") Rem I am using 1 as input
x=1
msgbox x+y Rem value is 2
msgbox x*y Rem value is 1
Fall 2: Acting als String und keine Umwandlung in numerische während des Betriebs ausfällt es
enter code here
y=inputbox("Enter a numeric value","") Rem I am using 1 as input
x=1
if y= x then
msgbox "pass"
else
msgbox "fail"
end if
Fall 3 : Als String und explizite Umwandlung in numerisch im laufenden Betrieb besteht
Ich brauche einen logischen Grund für die verschiedenen Verhaltensweisen. aber in einer anderen Sprache ist es gerade nach vorn und wird als
Danke für die Antwort. Aber gibt es irgendeine logische Konnektivität, warum es nicht in der 3 Fall – mulla
Ich meine Antwort zu aktualisieren verkettet. Die kurze Antwort lautet, dass VBScript eine Zahl nicht mit dem Operator '+' in eine Zeichenfolge umwandelt. –
Ich verstehe Ihre Antwort ... Lassen Sie mich es so sagen .... im ersten Ausdruck, wenn ich TypeName ("1") verwende, wird es als Strings geben. Entsprechend Ihrer Antwort (Wenn ein Ausdruck numerisch ist und der andere eine Zeichenkette ist, wird ein Fehler: type mismatch geworfen.) Mit der case 1 sollte es einen Fehler werfen. Es fügt hinzu und ich brauche eine logische Schlussfolgerung zu demselben. Es ist nicht eine grundlegende Ebene der Frage, wie andere denken. Wie wir wissen, ist es Addition. Aber muss herausfinden, warum es hinzufügt. Lassen Sie mich meine Frage mit einigen 3 oder 4 Fällen in der Frage aktualisieren, um dieses darzustellen ... – mulla