Avatar billede driis Nybegynder
12. august 2000 - 13:11 Der er 1 løsning

Overflow?

Når jeg prøver at udføre denne kommando får jeg fejlen Overflow (Run-time error 6):

Sz = 25000
Sz=Sz/(1024*1024)

Hvorfor det? Resultatet bliver jo ~0.02384, og variablen Sz er deklareret som Double.
Avatar billede skovlunde Nybegynder
13. august 2000 - 04:58 #1
Det er fordi VB implicit konvertere dine konstanter (1024\'erne) til den mest effektive datatype - Integer. Umiddelbart er dit problem så det at VB lammer ud fordi den ligeledes implicit konvertere resultatet af din beregning til en integer, hvilket giver dig dit overflow. Prøv således i stedet:

Sz = 25000
Sz=Sz/Clng((CLng(1024)*CLng(1024)))

Jeg tror endda du kan nøjes med bare at konvertere en af konstanterne.

PS: Det rigtig pæne ville jo være at deklarere 1024 som en Long konstant -
Const TUSINDE_PLUS_24 As Long = 1024

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