Aus zahl,zahl einen float-Wert machen

metacortex

Grünschnabel
Hallo,

ich habe eine Variable, in der ein String a la "1234567,02" gespeichert ist. Eigentlich repräsentiert das ganze jedoch eine Float-Zahl und soll dementsprechend auch umgewandelt werden. Java stört sich aber an dem , weil es ja nur mit . als Dezimaltrennzeichen umgehen kann
 
Hallo!

Dann tausch doch einfach das ',' gegen einen '.'.

Code:
String number = "1234,5678";
		System.out.println( Float.parseFloat(number.replace(',', '.')));

Gruß Tom
 
Hallo!

NumberFormat gibt dir aber nur einen String zurück...
Er wollte jedoch direkt einen float ...

und die Konvertierung String -> float ist doch einfacher als
String -> String -> float

oder? ;-)

Gruß Tom
 
Ausnahmsweise liegst du daneben. Methode:

Number parse(String source)

Natürlich sollte die Subklasse DecimalFormat verwendet werden. Sicher, deine Methode ist einfacher - aber halt nicht internationalisierbar, da lokal abhängig.
 
Dann hast du aber immernoch das Problem, dass du
Von DecimalFormat.parse über Number.floatValue() gehen musst.

I18N hat er nicht als Anforderung genannt ;-)

Gruß Tom
 
Mensch Ihr seid ja zwei Streithammel :)

Ich hab die erste Version benutzt und alles ist paletti. Aber auf der anderen Seite ist ein Blick über den Tellerand ja auch nie verkehrt...
 
Ich hab auch blos gesagt, dass damit mehr geht - also falls mal ähnliches Problem, aber ein wenig komplizierter.
 
Zurück