Archief - [PROG]VB.NET Error Probleem

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Install

Legacy Member
het is dus de bedoeling dat er een errormessage komt als iemand op berekenen klikt en het geen geheel getal is.

nu ik voer eht getal 3,5 is en dat berekent VB.NET heel raar dus
Nu als ik 3;5 intyp dan geeft hij wel de error.

kan ik dit verhelpen?

Code:
Public Class Form1

    Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtDeler.TextChanged

    End Sub

    Private Sub btnBerekenen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBerekenen.Click
        Dim deeltal, deler, quotient As Integer
        txtQuotient.Clear()

        Try
            deeltal = CType(txtDeeltal.Text, Integer)
            deler = CType(txtDeler.Text, Integer)
            quotient = deeltal / deler
            txtQuotient.Text = quotient.ToString()
        Catch ex As InvalidCastException
            MessageBox.Show("Je moet twee gehele getallen invoeren", _
            "Fout", MessageBoxButtons.OK, MessageBoxIcon.Error)

        End Try
    End Sub
End Class

Tyfius

Legacy Member
Als je van je text (3.5) naar een Integer gaat, gaat die afronden. Vang de input dus eerst op in een floating point variabele en kijk dan na of het getal * 10 % 2 een rest heeft. Indien ja, dan heb je een komma getal en geef je een error, indien niet heb je een geheel getal en kan je verder.

Install

Legacy Member
het gaan hem gewoon zuiver om de puntkomma en de komma :p

dus hij ziet in 3;5 de 5 als rest?

Tyfius

Legacy Member
Neen, ; kent hij niet en kan hij dus niet naar een Integer parsen en een error geven. Die , kent hij wel en hij gaat daar naargelang de rounding en locales settings van uw systeen 3 of 4 van maken en voortgaan met uw applicatie.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan