Javascript Calculator - String (15-55*3-10) ausrechnen ?
Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen
-
-
ich würde versuchen via Regexp den String an jedem Rechenzeichen zu splitten.
Danach musst du die einzelnen Teile in Integer parsen (falls das bei JS nötig ist. Bei Ruby zB nicht..) und dann kannst du sie neu verrechnen.
Ciao -
danke für den tipp! dachte es geht einfacher
-
Du könntest es mittels eval() probieren.
Das müsste den String als JS Code interpretieren können. stolpern fördert - Code Responsibly - Ein Appell an Webentwickler -
da hätte ich dann nur das Problem das Punkt vor Strich nicht beachtet wird?
-
janni17 schrieb:
da hätte ich dann nur das Problem das Punkt vor Strich nicht beachtet wird?
Das sehe ich jetzt erst, aber was möchtest du denn damit erreichen "+*3" ? stolpern fördert - Code Responsibly - Ein Appell an Webentwickler -
ups ... es muss natürlich heissen 15-55*3-10
-
Welches Ergebnis erhälst du denn ?
-160 sollte als Ergebnis herauskommen. stolpern fördert - Code Responsibly - Ein Appell an Webentwickler -
Gibt es keine Möglichkeit um die Differenzen noch Klammern zu setzen? Dann interpretiert eval() diese Rechnung auch korrekt?
-
Lemmi schrieb:
Gibt es keine Möglichkeit um die Differenzen noch Klammern zu setzen? Dann interpretiert eval() diese Rechnung auch korrekt?
er rechnet doch schon richtig
vince schrieb:
Welches Ergebnis erhälst du denn ?
Danke das du dir die Mühe gemacht hast
Es funktioniert eigentlich ganz gut
Allerdings habe ich noch zwei kleine Probs.
Problem 1)
25,6+33,9 -> ergebniss ist 9
25,6+33,6 -> ergebniss ist 6
Also immer die Zahl die nach dem Komma steht.
Einer eine Idee?
Problem 2)
Ich erkenne die Aufgabe via RegExp
if (textfeld.match(/(\-|\+|\*|\/|)[0-9]{0,}(,|[0-9])/))
Weiss einer wie ich sagen kann das die Rule mindestens 2x vorkommen muss ?
Meine Idee klappt nicht so ganz
((\-|\+|\*|\/|)[0-9]{0,}(,|[0-9])){1,50}
BTW: Hier gleich einen RegExpOnlinetester gskinner.com/RegExr/
lg Janni
Dankbar für jede Hilfe -
janni17 schrieb:
Problem 1)
25,6+33,9 -> ergebniss ist 9
25,6+33,6 -> ergebniss ist 6
Also immer die Zahl die nach dem Komma steht.
Einer eine Idee?
Da würde ich mal ganz spontan sagen, dass es am Komma liegt. Ersetz mal das Komma mit einem Punkt. stolpern fördert - Code Responsibly - Ein Appell an Webentwickler -
danke dir!
mit punkt geht es
-
Teilen
- Facebook 0
- Twitter 0
- Google Plus 0
- Reddit 0
-
Benutzer online 1
1 Besucher
-
Tags
- JavaScript
- JS
- AJAX
- HTML
- Delphi
- cpp
- Java
- string
- Python
- strings
- 2
- simple
- rechnung
- zahlen
- 3
- 10
- form
- -
- Com
- RegEx
- regexp
- taschenrechner
- parsen
- with
- loc:DE
- punkt
- strich
- ausrechnen
- calculator
- calculate
- calc
- %
- textbox
- rechenzeichen
- area
- kleiner
- rechnet
- liebes
- 10%
- 3=10
- calculation
- javascipts
- gskinner@conquesttrucks