Java char replace?

2 Antworten

Wenn das Programm mit einer Datenbank verbunden ist, würde ich die Änderung eher in der Datenbank per SQL machen. Außerdem ist natürlich die Frage, ob die Spalte in der Datenbank wirklich die Zahl als Text enthält, so dass man den Punkt durch ein Komma austauschen kann oder ob es in der Datenbank als float gespeichert ist und standardmäßig mit einem Punkt dargestellt wird.

Um dir da weiterhelfen zu können bräuchten wir aber ein paar zusätzliche Informationen: Was für eine Datenbank benutzt du (MS SQLServer, MySQL, MariaDB, PostgreSQL etc.)? Ist die Spalte in einem Textformat (char, nchar, varchar, nvarchar etc.) in der Datenbank angelegt? Wie verbindest du Java mit der Datenbank (Table ist kein integrierter Objekttyp von Java. Benutzt du evtl. irgendwelche Libraries?)

Die Probleme mit den Datentypen weisen darauf hin, dass entweder die Spalte in der Tabelle oder die Variable in deiner Java-Routine oder das auslesende (SQL?-)Statement einen unpassenden Datentyp hat, höchstwahrscheinlich string statt float/double o. Ä.

Oder versuchst du, String.replace() auf ein float oder double anzuwenden? Oder ein String in eine Spalte mit Datentyp Zahl zu schreiben? (Und muss die Zahl wirklich als Text in der Datenbank stehen? Man hat Datentypen nicht ohne Grund erfunden.)

Wenn du eine Zahl mit Dezimalkomma statt Dezimalpunkt ausgeben willst, verwende bitte die mit Java mitgelieferten Formatierungsmethoden für Zahlen statt String-Methoden.

Ansonsten schließe ich mich daCypher an: Welches Datenbanksystem? Welche Abfragemethode?

Woher ich das weiß:Berufserfahrung – Software-Entwickler