Avatar billede janegil Nybegynder
23. april 2006 - 09:44 Der er 5 kommentarer

Hvordan får jeg strengen "1814" konvertert til int ?

Jeg har

<asp:Button ... CommandArgument="1814"/>

og koden

int yyyy = (int)e.CommandArgument

kompileres OK, men gir feil i runtime:

System.InvalidCastException: Specified cast is not valid

Endrer til

int yyyy = (int)e.CommandArgument.ToString();

og får kompileringsfeil:
Cannot convert type 'string' to 'int'

Det er jo generelt riktig, det er få strenger som er heltall. Så det skal vel være noe et å fenge en exception?
Avatar billede erikjacobsen Ekspert
23. april 2006 - 09:45 #1
// convert string to int (parse)
Number = Int32.Parse(Text);
Avatar billede dr_chaos Nybegynder
23. april 2006 - 10:06 #2
eller

int yyyy = Convert.ToInt32(e.CommandArgument);
Avatar billede mikkelbm Nybegynder
23. april 2006 - 11:47 #3
Eller hvis du vil have en metode der ikke smider en exception:

int number;
Int32.TryParse (text, out number);

Hvis "text" er et gyldigt tal, bliver den parset til en integer - eller vil den have værdien "0". Ingen NumberFormatExceptions bliver smidt i denne metode.

(Virker dog kun i v. 2.0)
Avatar billede janegil Nybegynder
23. april 2006 - 12:17 #4
Int32.Parse gjør jobben - gi et svar, du er bedre enn Visual Studio hjelp.

(For mange og for sorskjellig måter å gjøre det samme - et tegn på at asp.net er tråklet sammen fra mange ulike kilder?)
Avatar billede erikjacobsen Ekspert
23. april 2006 - 12:47 #5
Jeg samler ikke på point, tak.
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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