hur sk jag göra för att få ett visst antal decimalel efter ett tal i en label... jag vill ha två decimaler... Det blir fel för att du lägger ihop textsträngar, om txtLön innehåller en trea och txtBidrag innehåller en fyra blir det så här: Val är lite kingigt att använda för tal. Eftersom den alltid utgår från . som decimalseparator. Bättre att använda CDbl(). Hej, så här har jag lösningen på mina decimaler:Mattematik...
värdel i lablen kommer av en matematisk uträkning, som också bli fel.... men jag fattar inte varför...
<code>
X = (txtLön + txtBidrag + txtÖvrigtI)
Y = (txtHyra + txtSkatt + txtMat + txtRäkningar + txtKläder + txtÖvrigt)
lblKvarM.Caption = X - Y
</code>
svaret blir helt fel.. varför blir det det??Sv: Mattematik...
txtLön + txtBidrag = "3" + "4" = "34"
Men om du konverterar txtLön och txtBidrag till numeriska värden med funktionen Val så blir det så här:
Val(txtLön) + Val(txtBidrag) = 3 + 4 = 7
Därför blir det fel i beräkningen!
Att få vb och spotta ur sig ett vissta antal decimaler kan man använda functionen format till, men jag har inte hur man skriver i huvudet (ja, jag är lat och drar upp sån info med f1) så kolla i MSDN-hjälpen efter Format.Sv: Mattematik...
<code>
X = CDbl(txtLön) + CDbl(txtBidrag) + CDbl(txtÖvrigtI)
Y = CDbl(txtHyra) + CDbl(txtSkatt) + CDbl(txtMat) + CDbl(txtRäkningar) + CDbl(txtKläder) + CDbl(txtÖvrigt)
lblKvarM.Caption = X - Y
</code>
Om du bara vill ha två decimaler i svaret kan du använda format funktionen:
<code>
lblKvarM.Caption = Format$(X - Y, "0.00")
</code>Sv: Mattematik...
Private Sub cmdAdd_Click()
Dim N@
Dim H#
Dim V#
PI = 3.1415927
Dim Svar As VbMsgBoxResult
Dim Noll As VbMsgBoxStyle
If IsNumeric(txtNumEtt.Text) = True Then
V = CDbl(txtNumEtt.Text)
Else
Svar = MsgBox("Du måste skriva in en siffra", vbOKOnly)
End If
If IsNumeric(txtNumTvå.Text) = True Then
H = CDbl(txtNumTvå.Text)
Else
Svar = MsgBox("Du måste skriva in en siffra", vbOKOnly)
End If
N = Cos(V * PI / 180) * H
lblTotal = CCur(N)
lblTotal = Round(N, 2)
End Sub
mvh Ivan