12. januar 2003 - 10:06
Der er
12 kommentarer og 1 løsning
Mærkeligt tal
Hej X-perter... Jeg har en kode der hedder: Private Sub Timer2_Timer() Label2.Caption = Label2.Caption + lblpengeind Label2.Caption = Format(Label2.Caption, "###,###,###") End Sub Og i Label 2 står der 300.000 I lblpengeind står der 30.000 Men når den udfører det står der pludselig 30.000.030.000 i label 2! Hvorfor gør den det? Og hvordan retter jeg det?
Annonceindlæg fra Barco
12. januar 2003 - 10:13
#1
Det gør den fordi det er to strenge du lægger sammen. Label2.Caption = clng(label2.caption) + clnt(lblpengeind) skulle gøre det
12. januar 2003 - 10:14
#2
clnt(lblpengeind) = clng(lblpengeind) ;)
12. januar 2003 - 10:17
#3
Så får jeg fejlen: Sub or Function not defined...
12. januar 2003 - 10:20
#4
hvor stopper den henne?
12. januar 2003 - 10:24
#5
Det er fordi du lægger 2 strenge sammen, først skal "." fjernes. Dim X Dim Sum1, Sum2 Sum1 = "" Sum2 = "" 'Fjern . i Label1 For X = 1 To Len(Label1.Caption) If Mid(Label1.Caption, X, 1) <> "." Then Sum1 = Sum1 & Mid(Label1.Caption, X, 1) Next X 'Fjern . i Label2 For X = 1 To Len(Label2.Caption) If Mid(Label2.Caption, X, 1) <> "." Then Sum2 = Sum2 & Mid(Label2.Caption, X, 1) Next X Label2.Caption = Val(Sum1) + Val(Sum2) Label2.Caption = Format(Label2.Caption, "###,###,###") (Label1.Caption skal du skifte til lblpengeind -SCB
12. januar 2003 - 10:28
#6
Sætte denne del ind i din Timer2 sub: Dim X Dim Sum1, Sum2 Sum1 = "" Sum2 = "" 'Fjern . i lblpengeind For X = 1 To Len(lblpengeind) If Mid(lblpengeind, X, 1) <> "." Then Sum1 = Sum1 & Mid(lblpengeind, X, 1) Next X 'Fjern . i Label2 For X = 1 To Len(Label2.Caption) If Mid(Label2.Caption, X, 1) <> "." Then Sum2 = Sum2 & Mid(Label2.Caption, X, 1) Next X Label2.Caption = Val(Sum1) + Val(Sum2) Label2.Caption = Format(Label2.Caption, "###,###,###") -SCB
Slettet bruger
12. januar 2003 - 10:37
#7
scb: Ville det ikke være nemmere med Replace(Label2.Caption, ".", "") for at fjerne punktummet?
12. januar 2003 - 10:51
#8
Jo, men f.eks VB5.0 understøtter ikke funktionen.
Slettet bruger
12. januar 2003 - 10:54
#9
Okay. Det vidste jeg så ikke før nu. :o)
12. januar 2003 - 12:47
#10
Hvad med bare at bruge val() ? Label2.Caption = val(Label2.Caption) + val(lblpengeind) /Martin
12. januar 2003 - 12:53
#11
Så får du kun tallet til det første punktum. 300.000 bliver til 300 300.123 bliver til 300
13. januar 2003 - 11:04
#12
Nå - så kan du jo lave det på molbo-metoden, ved først at fjerne alle punktummer, derefter lægge tallene uden punktummer sammen (husk val()) og derefter sætte punktummer ind i resultatet :o) Eller helt lade være med at bruge de åndsvage punktummer ;o)
13. januar 2003 - 11:05
#13
Ahh - det har scb allerede vist i sit svar - so sorry :o)
Kurser inden for grundlæggende programmering