Avatar billede radiohead Nybegynder
28. oktober 2007 - 21:40 Der er 9 kommentarer og
1 løsning

Arithmetic operation resulted in an overflow.

Jeg har nogle id'er der bliver hentet fra querystringen og sendt til en funktion.

Virker fint nok...
Men indtaster man manuelt et tal i querien, der er over 1 milliard(tror jeg), får jeg denne fejl. (Arithmetic operation resulted in an overflow.)
Hvad skyldes det og hvordan kan jeg fixe det?
Id'et er af typen integer.

Jeg vil umiddelbart ikke lave en validering på tallet der sikrer at tallet er under 1 mia., da det jo rent teoretisk godt kan ske at tallet SKAL være så stort.
Avatar billede nielle Nybegynder
28. oktober 2007 - 21:52 #1
Maksværdi for int (=System.Int32) er 2147483647

Hvis du i stedet bruger Int64 er maqksværedie meeeeget større.
Avatar billede radiohead Nybegynder
28. oktober 2007 - 21:52 #2
forsøger
Avatar billede nielle Nybegynder
28. oktober 2007 - 21:54 #3
9.223.372.036.854.775.807
Avatar billede radiohead Nybegynder
28. oktober 2007 - 21:54 #4
Hmm super! :)

Hvad er forskellen på int32, integer og int64?
Sker der noget med perfomance?
Avatar billede radiohead Nybegynder
28. oktober 2007 - 21:55 #5
læg et svar i øvrigt
Avatar billede radiohead Nybegynder
28. oktober 2007 - 21:55 #6
Tillægsspørgsmål... :)
Havde man haft behov for at manøvrere med tal højere end 9.223.372.036.854.775.807, hvad gjorde man så?
Avatar billede nielle Nybegynder
28. oktober 2007 - 22:02 #7
Int32 fylder 32 bit (= 4 byte) Int64 fylder 64 bit (= 8 byte) i hukommelsen.

C#: int er sædvanligvis blot et alias for Int32
VFB.Net: Integer er ... dito

Du kan næppe se noget videre mht performance, om end Int32 nok er en smule hurtigere at arbejde med på 32 bit maskiner.
Avatar billede nielle Nybegynder
28. oktober 2007 - 22:04 #8
Der er også datatypewn Decimal som lægger ca. yderligt 10 devcimaler på i forhold til Int64.

Vil man høre end det må man enten inkludere BigInt fra J#, eller implementere sin egen klasse til at håndtere vilkårligt store tal.
Avatar billede radiohead Nybegynder
28. oktober 2007 - 22:08 #9
Super - tak for hjælpen.

Så mangler bare et svar :)
Avatar billede nielle Nybegynder
28. oktober 2007 - 22:11 #10
Svar :^)
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