Typumwandlung Object in double

  • Themenstarter Themenstarter Patterchen
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
P

Patterchen

Gast
Hallo ,

ich habe ein Problem mit der Typumwandlung in double.
Der Vector übergibt ein Object und ich brauche aber für die Funktion setBetrag ein double.
Wie kann ich das umwandeln. Hab schon ein paar sachen probiert, geht aber nicht:

Code:
case betrag_COL: tabueber.setBetrag((double)value); break;
Ich bekomme immer folgende Fehlermeldung:
Cannot cast from object to double
The method setBetrag(double) in the type Tabellenuebergabe is not applicable to the arguments (String)



Die Funktion setBetrag:
Code:
public void setBetrag(double Betrag)
	{
		m_Betrag = Betrag;
	}



Kann mir jemand sagen wie ich den Typ wandeln kann. Casten, parsen, neu zuwesen........ ???:L :bahnhof:

Patterchen
 
Was steht denn in dem Object drin ?

Ein String ?
Code:
Double.parseDouble((String)value);


Ein Double ?
Code:
((Double)value).doubleValue()


Oder was ganz anderes ?
 
Die Variable ist ein Object.
Die Fehlermeldung lautet auch: Cannot cast from Object to double
 
Sky hat gesagt.:
Was steht denn in dem Object drin ?

ist es den überhaupt möglich das objekt zu konvertieren?

vielleicht wäre ja eine lösung, wenn du eine getter-methode einbaust? wie ist den der aufbau der klasse von dem objekt?
 
Patterchen hat gesagt.:
Die Variable ist ein Object.
Die Fehlermeldung lautet auch: Cannot cast from Object to double

Soweit habe ich das schon gelesen ! Wenn es sich um ein Object handelt, so wäre es nicht möglich dies in ein Double zu casten!
Kann auch sein, dass Du da was verwechselst ? Ein Vector bspw. gibt ein Object zurück, auch wenn ein String oder ein Double drin steht.

Zeig doch mal, wie der Vector gefüllt wird.
 
Der Vector wird so befüllt:


Code:
public DB
{
.............
            Vector v = new Vector();
             
             
             
             
             while ( rs1.next() )
            	 {
                    	 
                v.addElement(rs1.getString(1));
                v.addElement(rs1.getString(2));
                v.addElement(String.valueOf(rs1.getDouble(3)));
                v.addElement(rs1.getString(4));
                v.addElement(rs1.getString(5));
.............
return v;
}
 
dann wurde ja schon gezeigt, wie du ein Element in ein double umwandelst....
 
mhhh, aber hier hab ich ein double in einen String gewandelt. Andersrum hab ich es auch versucht , ging aber nicht.
 
Patterchen hat gesagt.:
mhhh, aber hier hab ich ein double in einen String gewandelt. Andersrum hab ich es auch versucht , ging aber nicht.
double -> String:
Code:
String.valueOf(1.0);

String -> double
Code:
Double.parseDouble("1.0");
 
Dann arbeitest du vielleicht mit einer Steinzeit-Version von Java?
Da hat man noch so geparst:
Code:
double d = Double.valueOf("1.25").doubleValue(); //bis Java 1.2
Funktioniert aber heute auch noch.

Poste mal deine Fehlermeldung, ohne die kann dir keiner helfen.

Edit:
Code:
double d = Double.parseDouble((String)v.get(index));
Holt ein String-Objekt an Position index aus dem Vector und parst es in einen double-Wert.
Code:
String s = ((Double)v.get(index)).toString();
Holt ein Double-Objekt an Position index aus dem Vector und parst es in einen String.
 
@ l-ECTRON-X
Hattest recht! Auf meinem anderen PC hat alles wunderbar getan. Tja da sollte man vorher mal auf die Version schauen.
Thx
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben