Avatar billede speder2 Nybegynder
30. april 2002 - 23:53 Der er 10 kommentarer og
1 løsning

konvertere object til integer

Hej

Jeg har denne her:

<%
mindste_data = mindste.getObject("minekstern");
out.println(mindste_data + 200);
%>

Men den siger, at den ikke kan konvertere object til int. Hvad skal jeg gøre - har forsøgt med int mindste_Data = ....., men det hjælper heller ikke.

Takker,

Søren
Avatar billede erikjacobsen Ekspert
30. april 2002 - 23:55 #1
Hvad type er dit object? Integer? I så fald

out.println( ((Integer)mindste_data).intValue() + 200);
Avatar billede disky Nybegynder
30. april 2002 - 23:58 #2
hvis mindste_data er et Integer Object, så siger du bare

out.println(mindste_data.intValue()-200);


hvis mindste_data f.eks. er et String object siger du:

out.println(Integer.parseInt(mindste_data)-200); //der skal en try/catch rundt om

p.s. Det er dårlig kode at bruge out.println() til at udskrive værdier med, det er meget besværligt at rette html bagefter.
Avatar billede disky Nybegynder
30. april 2002 - 23:58 #3
ups glemte lige en typecast
Avatar billede speder2 Nybegynder
01. maj 2002 - 10:01 #4
Herligt. Eriks løsning virkede. Disky, jeg prøvede også begge dine løsninger, men fik følgende fejl:

Method intValue() not found in class java.lang.Object.

Incompatible type for method. Explicit cast needed to convert java.lang.Object to java.lang.String.

Det skyldes jo nok, at jeg ikke gør det rigtigt ;-)

Søren
Avatar billede speder2 Nybegynder
01. maj 2002 - 10:03 #5
Af en eller anden anden grund, kan jeg ikke "aflevere mine points" Prøver igen senere.
Avatar billede disky Nybegynder
01. maj 2002 - 10:05 #6
som jeg skrev i andet svar manglede jeg en typecast :)
Avatar billede speder2 Nybegynder
01. maj 2002 - 10:10 #7
Jeg ved bare ikke hvad en typecast er :-)?
Avatar billede erikjacobsen Ekspert
01. maj 2002 - 10:16 #8
Prøv lige at vise os en smule mere af koden, f.eks. hvad
mindste og mindste_data er for typer. Så kan vi formentlig
forklare dig hvad der sker. Måske vi endda kan forklare dig
hvad en typecast er.
Avatar billede speder2 Nybegynder
01. maj 2002 - 10:24 #9
mindste_data = mindste.getObject("minekstern");

Mindste_data er definere som Object (Object mindste_data;),
mindste som Resultset (ResultSet mindste = Statementmindste.executeQuery();),
og minekstern er et numerisk felt i en database.

M.v.h.

Søren
Avatar billede erikjacobsen Ekspert
01. maj 2002 - 10:51 #10
Ok, har du noget der ligner

  Object mindste_data = mindste.getObject("minekstern");

så får du feltet tilbage som et objekt, der i realiteten enten er
et Integer-objekt, eller et String-objekt - afhængig af typen
i feltet.

Men det er kun et Object. Du skal derfor direkte sige at du godt
ved det er en Integer, og det gør ved fx

  Integer iobjekt = (Integer)mindste_data

Du får så en exception, hvis det ikke er en Integer i virkeligheden,
men det kan først opdages her.

Tallet i en integer tages ud med

    iobjekt.intValue()

og kan udskrives eller regnes videre på.

Men da du nu ved det er et talfelt, så er det en direkte metode

  int i = mindste.getInt("minekstern");

som må være nemmere i dit tílfælde.
Avatar billede speder2 Nybegynder
01. maj 2002 - 15:58 #11
Tak for hjælpen, Erik og Disky. Much appreciated :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester