Conversie van tekenreeks naar type Double is ongeldig

Status
Niet open voor verdere reacties.

stenhoeve21

Gebruiker
Lid geworden
7 feb 2013
Berichten
26
Ik zit vast op een foutmelding "conversie van tekenreeks naar type Double is ongeldig"Deze melding treedt op bij de code regel lblTotalOrder.Text += woodSheet(2) * woodSheet(3). Ik begrijp er niets van en wat hier aan te doen?? Heeft iemand een idee?
Code:
 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAddOrder.Click
        Dim woodSelect As Integer
        Dim woodSheet(3) As String
        If lstArticles.SelectedIndex > -1 Then
            woodSelect = lstArticles.SelectedIndex
            woodSheet = lstArticles.SelectedItem().Split(";")
            woodSheet(3) = NumUpDown1.Value
            lstArticles.Items.RemoveAt(woodSelect)
            lstArticles.Items.Insert(woodSelect, woodSheet(0) & ";" & woodSheet(1) & ";" & woodSheet(2) & ";" & "  " & woodSheet(3))
            lblTotalOrder.Text += woodSheet(2) * woodSheet(3)
            NumUpDown1.Value = 0
        End If
        NumUpDown1.Enabled = False
    End Sub
 
Je bent aan het rekenen met strings, dat gaat niet.
 
Maar dan moet het toch mogelijk zijn om met Cdbl te werken? Ik krijg dezelfde melding als ik lblTotalOrder.Text = Cdbl(lblTotalOrder.text) + Cdbl(woodSheet(2)) * Cdbl( woodSheet(3)) invoer, echter wanneer ik lblTotalOrder.Text = Val(lblTotalOrder.Text) + Val(woodSheet(2)) * Val(woodSheet(3)) gebruik gaat het wel goed, maar worden de getallen achter het decimaal teken niet getoond. Wat is daar het verschil tussen en waarom worden de getallen achter de komma niet getoond?
 
Is uiteindelijk gelukt, onderstaande code werkt nu
Code:
 Private Sub btnAddOrder_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAddOrder.Click
        Dim woodSelect As Integer
        Dim woodSheet(3) As String
        Dim totalprice As Double
        If lstArticles.SelectedIndex > -1 Then
            woodSelect = lstArticles.SelectedIndex
            woodSheet = lstArticles.SelectedItem().Split(";")
            woodSheet(3) = NumUpDown1.Value
            lstArticles.Items.RemoveAt(woodSelect)
            lstArticles.Items.Insert(woodSelect, woodSheet(0) & ";" & woodSheet(1) & ";" & woodSheet(2) & ";" & "  " & woodSheet(3))
            totalprice = lblTotalOrder.Text + Val(woodSheet(2)) * Val(woodSheet(3))
            NumUpDown1.Value = 0
        End If
        lblTotalOrder.Text = FormatCurrency(totalprice)
        NumUpDown1.Enabled = False
    End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan