Javascript input zum rechnen?

1 Antwort

naja, erstens gibt es show in summe nicht weil show in einer anderen funktion steckt . wenn brauchst du da ein show ausserhalb der funktionen .

dann kannst du nicht einen GETTER nehmen und ein wert zuweisen

$('#display').val() =

sonder

$('#display').val(Number(show));

aber wenn du wirklich einen taschenrechner bauen willst , wirst du wohl entweder ein parser bauen müssen der die zahlen rausließt und die rechenoperationen oder irgendwas auf dem weg der eingaben schon zwischen speichert und ausrechnet . ausserdem musst du dann noch punkt vor strich rechnung beachten wenn du eine rechnung erst schreibst und dann ausrechnest .

zudem ist val() zwar ein wert , aber eigentlich zu 99% immer ein String , auch wenn JavaScript da recht gnädig ist, solltest du es immer mit parseInt in eine zahl umwandeln oder mit 1 multiplizieren damit der typ umgewandelt wird .

also praktisch musst du den text aus der area nehmen , zeichen für zeichen durchgehen und entsprechend dann in eine variable speichern,wenn keine zahl kommt dann das rechenzeichen festhalten in einer variable , danach dann die nächste zahl parsen und dann noch ein switch case machen um die rechenoperation als fall zu haben und dort dann mit der rechenoperation die variablen ausrechnen und als ergebnis festhalten .

das kannste dann am ende entweder wieder reinschreiben oder anhängen .

praktisch also für den anfang ohne array einfachst :

var zahl1 = 0;
var zahl2 = 0;
var ergebnis = 0;
var operation = "";
die füllen und mit einem switch case dann entsprechend rechnen

oder
var zahl[];
var welchezahl = 0;
var operation ="";

beim einlesen solange nur zahlen sind kann man jeden klick also zu der

zahl[welchezahl] packen

wenn ein rechenzeichen kommt muss man welchezahl um eins erhöhen , dann kann die nächste zahl in zahl[welchezahl] und dann bei gleich kann man anfangen zu rechnen z.b wenn man als operation + hat dann


if (operation == "+") {
   ergebnis = zahl[0]*1 + zahl[1]*1;
}