Java char replace?
Hallo, folgendes ist gegeben, ein table und die Spalte 3 beinhaltet Eurowerte die mit einem Punkt in Dezimalstellen getrennt ist z.B. 182.93, ich würde gerne alle Punkte der Tabelle in Spalte 3 ersetzen mit einem Komma. Es gibt eine .replace Methode, tue mir aber schwer auf die Tabelle zu zugreifen. Gibt dauernd Probleme mit Variablentypen..
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?