Ich habe eine Zeichenfolge mit einer mathematischen Funktion, wie "35 + 20". Ich möchte eine neue Doppelvariable, die das Ergebnis der mathematischen Funktion, d. h. 55.0, aufnimmt. Wie erreiche ich das? das ist eigentlich für android, ich mache einen rechner ..Wie konvertiere ich einen String zu Double in Java, wenn der String mathematische Funktionen enthält?
Antwort
Manuell parsen sie die string und machen sie eine berechnung an jedem bedienersymbol. Im Umgang mit Klammern wird es jedoch komplizierter.
Wenn Sie es selbst schreiben möchten, werden Sie wahrscheinlich die Shunting Yard Algorithm implementieren möchten.
Es gibt auch einige Bibliotheken, die es für Sie handhaben.
Da Sie erwähnt haben Sie auf einem Rechner arbeiten Ich gehe davon aus, dass Sie vielleicht nicht nur in genau den + Betrieb interessiert sein, aber auf einer Reihe von anderen Stoffen zu. Sie können in Open-Source-GitHub-Projekt unten verlinkt, die die JAVA-Implementierung für die Dinge, die Sie versuchen, https://github.com/uklimaschewski/EvalEx , die Ihnen eine gute Reihe von Funktionen geben können, die Sie wünschen. Dieses Projekt übernimmt eine Zeichenfolge als Ausdruck und gibt das Ergebnis im BigDecimal-Format zurück. Sie können es jederzeit erweitern und an die benutzerdefinierte Suite anpassen, die Sie benötigen.
- 1. Wie konvertiere ich einen InputStream in einen String in Java?
- 2. Ungültige Double "" bei String zu Double to String Konvertierung
- 3. Wie konvertiere ich Double [] in Double []?
- 4. Java String zu Byte [] (String enthält Objektdaten)
- 5. Wie konvertiere ich einen StringReader in einen String?
- 6. Wie konvertiere ich einen WCHAR * in einen regulären String?
- 7. Wie konvertiere ich einen String in einen BigInteger?
- 8. Konvertiere einen String in einen regulären Ausdruck
- 9. Konvertiere einen String in int in Rust?
- 10. Wie konvertiere ich einen String in einen OctetString (C#)?
- 11. Wie konvertiere ich ein org.w3c.dom.Document Objekt in einen String?
- 12. Wie konvertiere ich/konvertiere ich einen String in einen bool in Tcl?
- 13. Java, Rückgabe wenn Liste enthält String
- 14. OCaml - Wie konvertiere ich Int in String?
- 15. Konvertiere einen String in C++ Code
- 16. Wie konvertiere ich NSLog in String?
- 17. Wie konvertiere ich einen String yyyy/mm/dd in bigquery?
- 18. Wie konvertiere ich einen String in char * in C++?
- 19. Konvertiere System.Array in String []
- 20. Konvertiere String in Integer
- 21. String in Double konvertieren
- 22. Wie konvertiere ich ein Zeichen in einen String?
- 23. String (mit Bruch) zu Double in Spark
- 24. String zu schweben/double Parsing
- 25. Konvertiere eine Map <String, String> in einen POJO
- 26. Java-Zeichenfolge innerhalb String zu String
- 27. C#: Mathematische Funktionen
- 28. konvertiere string [] in int []
- 29. Konvertiere einen String in ein Integer-Array
- 30. Wie kann ich einen String zurück in einen String [] konvertieren, wenn ich `Arrays.toString` benutzt habe, um ihn so zu konvertieren?
Sie finden die Antwort hier http://stackoverflow.com/questions/3422673/evaluating-a-math-expression-given-in-string-form –