Avatar billede dennism Nybegynder
28. februar 2004 - 23:58 Der er 5 kommentarer og
1 løsning

VB: Variabel ^2

Jeg har en variabel "inputlinieb", hvis værdi jeg får fra et inputfelt. Jeg sætter f.eks. 2.8 i inputfeltet og kører følgende kode:
txtliniea = inputlinieb ^ 2

Så burde txtliniea blive 7.84, men den bliver i stedet 784 (=28^2)

Det er altså tegn på at den ikke registreret det komma (=punktum) der er.
Hvad gør jeg galt?
Avatar billede nmh Nybegynder
29. februar 2004 - 00:09 #1
Prøv at skrive 2,8
Avatar billede nmh Nybegynder
29. februar 2004 - 00:17 #2
Visual Basic er sat op til at anvende sædvanlig dansk notation ved indlæsning.
Punktum er hvad jeg kalder et "pyntetegn" for at gøre tal lettere at læse 1.00.000 f.eks.
Komma bruges som tegn for at ni kommer decimalerne. Men det bruges kun ved udskrift og indlæsning.

Hvis du skal tildele en variable en værdi inde i dit program, skal du anvende decimalpunktum.
Altså:
x=1.5
msgbox x*x vil give udskriften 2,25  (VB bruger decimalkomma, når der udskrives)

Men hvis du bruger x=Inputbox("Indlæs x")
og så skriver 1.5 så vil det opfattes som, hvis du havde skrevet 15.

Det er ikke lavet så smart.
"Men det skal jo heller ikke være for let" plejer vi at sige. :o)
Avatar billede martin_moth Mester
01. marts 2004 - 13:40 #3
Undgå brug af inputboxe - dem har Fanden skabt. Du kan ikke forhindre at brugeren taster f.eks. bogstaver ind.

Lav i stedet din egen lille form med et textfelt og en OK-knap - så kan du f.eks. forhindre indtastning af bogstaver i talfeltet, og selv vælge, om du vil bruge . eller , som decimaltegn.
Avatar billede nmh Nybegynder
01. marts 2004 - 16:04 #4
Du har helt ret Martin, men for lige at lave en hurtigt afprøvning er det det letteste.
Avatar billede sion Nybegynder
06. marts 2004 - 23:16 #5
Hvis du skal bruge værdien i en løkke eller lignende der skal køre mange gange, skal du nok udskifte
txtliniea = inputlinieb ^ 2
med
txtliniea = inputlinieb * inputlinieb
da denne metode er LANGT hurtigere :)
Avatar billede dennism Nybegynder
07. marts 2004 - 09:46 #6
Smider I lige et svar hver især?
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