White_Fox Java Hilfe Thread

Hallo Gemeinde :)

Ich arbeite derzeit an einem Programm, in dem ich sehr viele Doubles vom Benutzer entgegennehmen, verarbeiten und wieder ausgeben muß.

Java erkennt zwar selbst, ob ein Punkt oder Komma angebracht ist, manche Methoden machen aber doch Probleme wenn ein Komma anstelle eines Punktes verlagt ist. Double.toString z.B..

Ich könnte zwar jeweils alles von Hand ändern (text.replace)...aber das muß doch auch eleganter gehen, oder nicht?
Hat wer ne Ahnung, wie?
 
Danke SchwarzeBeere :)
Das mit der Formatter-Klasse hab ich auch schon probiert.

Ich meinte eigt eher etwas, das ich nicht jeden String nochmal anfassen muss.
Eben sowas wie Double.toString, nur dass statt des obligatorischen Punktes der richtige Dezimalseperator eingefügt wird.

Wie gesagt, in dem Programm sind verdammt viele Doubles entgegenzunehmen, zu berechnen und wieder auszugeben. Ich wollte sehen ob ich mir da nicht etwas Schreibarbeit ersparen kann...
 
wenn mich nicht alles täuscht wird das in java genauso gehandhabt wie bei .net ... es gibt eine locale die für die aktuelle runtime gilt, und die formatiert standardmäßig die werte ...

sprich die legt fest welches dezimalzeichen verwendet wird

entweder du gibst beim erzeugen des strings die locale mit an, oder du setzt die locale vorher, oder du baust wie in der oben verlinkten antwort deine eigenen einstellungen zusammen

häng mal beim aufruf and Java.exe folgende Befehlszeilenparameter dran:

-Duser.language=de -Duser.country=DE

das sollte die locale auf de_DE setzen
 
@GrafZahl:
Danke für den tip mit dem Befehlszeilenparameter.
Wo genau wird der den eingegeben? Ich habe es mit Rechtsklick auf Projekt > Eigenschaften > Ausführen
ausprobiert, aber das hat leider nicht funktioniert.
 
@GrafZahl:
Danke für den tip mit dem Befehlszeilenparameter.
Wo genau wird der den eingegeben? Ich habe es mit Rechtsklick auf Projekt > Eigenschaften > Ausführen
ausprobiert, aber das hat leider nicht funktioniert.

das ist der aufruf an die java.exe ... wenn du dein prog in einer IDE startest, wird das vermutlich irgendwo in der IDE eingestellt...

ansonnsten gibts wie xrayn schon sagte noch die möglichkeit das direkt im programm zu setzen ...
 
Prima...es geht. :)
Ich habe es (mit etwas Hilfe von meinem dozenten) nun über die Locale gelöst.

Code:
import java.text.*;
import java.util.*;

NumberFormat format = NumberFormat.getInstance();

String Teststring = "1,123";
double Stringcontent = 0;

try{
     Stringcontent = format.parse(Teststring).doubleValue();
}
catch(ParseException e){
     Stringcontent = 0;
}

//Rückwandlung Double -> String

Teststring = format.format(Stringcontent);


Vielen Dank für Hilfe und Rat von euch. :)



Edit:
Bei wievielen Usern muß man sich eigt bedanken, damit man sich wieder bedanken kann???
Bei fast allen, von denen ich was Gutes oder Hilfreiches ect, lese kommt immer die Meldung, ich müsse erst die Beiträge einiger anderer User bewerten bevor ich XYZ wieder bewerten kann...
 
Zuletzt bearbeitet:
Guten Abend allerseits.

Kann mir jemand erklären, was man mit Annotationen wie @Override anstellt und vor allem, wozu dies notwendig ist?

Ich versuche, Funktionen grafisch darzustellen, und da taucht @Override auf, ich hab aber keine Ahnung wozu das gebraucht wird. Ich habe bisher herrausgefunden, dass @Override Elemente aus der "Mutterklasse" überschreibt. Aber wozu soll das gut sein?
 
Guten Abend allerseits.

]Kann mir jemand erklären, was man mit Annotationen wie @Override anstellt und vor allem, wozu dies notwendig ist?

Wikipedia kanns: https://de.wikipedia.org/wiki/Annotation_(Java)

Ich versuche, Funktionen grafisch darzustellen, und da taucht @Override auf, ich hab aber keine Ahnung wozu das gebraucht wird. Ich habe bisher herrausgefunden, dass @Override Elemente aus der "Mutterklasse" überschreibt. Aber wozu soll das gut sein?

Auch dieses Thema kennt Wikipedia: https://de.wikipedia.org/wiki/Vererbung_(Programmierung). Alternativ gibts im Java-ist-eine-Insel Buch ein eigenes Kapitel dafür.

Offtopic: Eventuell wäre es für andere Forenbesucher besser, wenn du pro Thema auch wirklich ein Thema erstellst und nicht unterschiedliche Probleme, die nur wenig miteinander zu tun haben, in einen Thread zu packen. Es geht hier nicht um Personen, sondern um Themen ;)
 
Den Wikipedia-Artikel hat mir Google auch schon ausgespuckt.

Aber die Passage aus der Insel hat mir erklärt was ich wissen wollte. Danke. :)


Offtopic: Eventuell wäre es für andere Forenbesucher besser, wenn du pro Thema auch wirklich ein Thema erstellst und nicht unterschiedliche Probleme, die nur wenig miteinander zu tun haben, in einen Thread zu packen. Es geht hier nicht um Personen, sondern um Themen ;)
Tja, das hab ich am Anfang auch so gehandhabt, bis mir schon bei einem relativ einfachen Programm unvermutet viele Fragen kamen und mir klar geworden ist, wieviele noch dazu kommen werden. Und ich wollte die Code-Küche nicht zu einem (fast) reinen Java-Unterforum machen. Aber wenn ihr meint es ist besser so, na dann...
 
Es ist nunmal so, dass Foren-Threads ja oft auch von anderen Leuten gelesen werden, die ähnliche Fragen/Probleme haben. Und diese Leute finden die Themen (z.B. über Suchmaschinen oder die Forum-Suche) nicht oder nur schlecht, wenn dutzende Themen in einem Thread zusammengefasst werden.
 
Zurück
Oben