Avatar billede rusti Nybegynder
24. maj 2006 - 14:33 Der er 15 kommentarer og
1 løsning

regnestykke i visual basic

Hej jer er ved at lave et lille program hvor jeg skal lave et lille regnestykke men jeg kan ikke få den til at vise mig det rigtige tal. mit regnestykke ser således ud

Beløb5 = Round(Val(Beløb1) + Val(Beløb4), 2)

hvor Beløb1 = 20603,7 og Beløb4 = 5609,92 og så siger den at beløb5 = 26212 og det forstår jeg ikke.
er der nogen der kan fortælle mig hvorfor den ikke skriver 26213,62 som er det rigtige beløb
Avatar billede sjh Nybegynder
24. maj 2006 - 14:49 #1
det er fordi du bruger Val()

Private Sub Form_Load()
Dim Beløb1 As Single
Dim Beløb4 As Single
Dim Beløb5 As Single

  Beløb1 = "20603,7"
  Beløb4 = "5609,92"

  Beløb5 = Round(Beløb1 + Beløb4, 2)

  MsgBox Beløb5 '<-  26213,62
End Sub
Avatar billede rusti Nybegynder
24. maj 2006 - 14:56 #2
den skal ligge det i et label men hvis jeg prøver det du har skrevet skriver den en run-time error 13 type mismatch
Avatar billede sjh Nybegynder
24. maj 2006 - 14:58 #3
er Beløb1, Beløb4 og Beløb5 TextBox ??
Avatar billede sjh Nybegynder
24. maj 2006 - 15:07 #4
hvad marker den der hvor du får run-time error 13 type mismatch??
Avatar billede sjh Nybegynder
24. maj 2006 - 15:10 #5
er det den visual basic som er i word du bruger eller er det visual basic.net eller visual basic 6.0 ??
Avatar billede rusti Nybegynder
24. maj 2006 - 20:16 #6
hej sjh det er visual basic 6.0 og det er Beløb5 den markere, nej Beløb1, Beløb4 og Beløb5 er allesammen Dim As String og resultatet af andre regnestykker
Avatar billede sjh Nybegynder
24. maj 2006 - 20:32 #7
okææ...

prøv at starte et nyt project og smid det hele under Form1
Avatar billede sjh Nybegynder
24. maj 2006 - 20:32 #8
Beløb5 er ikke Dimet flere gange vel??
Avatar billede sjh Nybegynder
24. maj 2006 - 20:34 #9
allesammen Dim As String <-- DET MÅ IKKE VÆRE STRING det skal være SINGLE

Dim Beløb1 As Single
Avatar billede rusti Nybegynder
24. maj 2006 - 20:44 #10
nej Beløb5 er kun Dimet 1 gang og tak nu virker det
Avatar billede sjh Nybegynder
24. maj 2006 - 20:47 #11
hvis det skal i en Label.. så gør du bare sådan:

Label1.Caption = Beløb5
Avatar billede rusti Nybegynder
24. maj 2006 - 20:49 #12
ja det virker nu men kan det lade sig gøre hvis den rammer på ,00 at den også viser det
Avatar billede sjh Nybegynder
24. maj 2006 - 20:58 #13
brug format()

Label1.Caption = Format(Beløb5, "###0.00")
Avatar billede rusti Nybegynder
24. maj 2006 - 21:05 #14
oki tak
Avatar billede sjh Nybegynder
24. maj 2006 - 21:12 #15
selv tak
Avatar billede rynke10 Novice
25. maj 2006 - 04:38 #16
Et lille indspark.
Tror det der går galt i det første er forskellen på komma og punktum. Hvis den ser dit komme som seperator, så gør den jo det rigtige når du bruger VAL() Så bliver komma og resten smidt væk og kun den numeriske værdi uden decimaler bliver brugt i regnestykket.
Derfor får du også run-time error når du smider dem i en variabel.
Bare et gæt, men ud fra egen bitter erfaring :-(
Men har du variablen, er det jo ikke nødvendigt at bruge VAL()
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

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