dingen berekenen

Status
Niet open voor verdere reacties.

m4dc0w344

Gebruiker
Lid geworden
8 aug 2011
Berichten
377
heey
ik kom er maar niet achter hoe ik vermenigvuldig met getallen met meer dan 1 decimale getallen.
dit heb ik tot nu toen.
[XML]Label17.Text = (TextBox2.Text * 8)[/XML]
want hij geeft dan de fout melding
HTML:
De conversie van tekenreeks  naar type Double is ongeldig.

het lukt me ook niet om meerder getallen bij elkaar op te tellen
Code:
Label20.Text = (Label16.Text & Label17.Text & Label18.Text & Label19.Text)
maar dan zet ie alles getallen achterelkaar
 
Laatst bewerkt:
Maak er eens het volgende van:

Code:
Label17.Text = Int(TextBox2.Text) * 8
 
ne dat werkt niet, ik krijg nu geen error maar 1,5 x 8 is gewoon 8 en dat 10 moeten zijn(uit mijn hoofd)
 
Als ik doe:

Code:
Dim dbl As Double = 1.5
MsgBox(dbl * 8)

Dan krijg ik als uitkomst 12.

Wat betreft je tweede probleem, het & teken is om strings aan elkaar te plakken. Om op te tellen, je raad het al, gebruik je het + teken. Ga me nou niet vertellen dat je niet wist dat je optelt met het plus teken? :P
 
Optellen:

[CPP]Label20.Text = Double.TryParse(Label16.Text.Replace(".", ",")) + _
Double.TryParse(Label17.Text.Replace(".", ",")) + _
Double.TryParse(Label18.Text.Replace(".", ",")) + _
Double.TryParse(Label19.Text.Replace(".", ","))[/CPP]

Vermenigvuldigen:

[CPP]Label17.Text = Double.Parse(TextBox2.Text.Replace(".", ",")) * 8[/CPP]

:D
 
Mijn voorbeeld werkt dus goed omdat de functie Int() een tekst naar een heel getal converteerd, afgerond naar beneden.
1,5 wordt dus afgerond naar 1 en 8 * 1 is 1. Je zult dan moeten werken met een ander datatype dan Int.
Met text, waar je een foutmelding op krijgt, kun je niet rekenen.

Waar de andere reageerders het type Double al aanhaalden zijn er nog een aantal.
Verdiep je dus eerst eens in het werken met verschillende datatypes in Visual Basic:
http://www.vbvoorbeelden.be/Alfanumerieke-en-Numerieke-Datatypes.html

Of begin hier: http://www.vbvoorbeelden.be
 
Laatst bewerkt:
Ik gebruikte expres geen integers omdat de TS het over decimale getallen had ;).
 
Daar heb je helemaal gelijk in. Ik heb daar keihard overheen gelezen :d
Neemt niet weg dat het topic nu een stuk informatiever wordt dan met 1 simpel, werkend voorbeeld :cool:
Daarnaast is het voor TS inderdaad ook van belang om te weten dat 1,5 iets anders is dan 1.5
 
Laatst bewerkt:
Ben ik volledig met je eens, dat het nu een stuk informatiever is ;)
 
voor de vermenigvuldigen werkt het nu wel heel erg bedankt daar voor!
maar voor de opsomming werkt het niet ik heb nu dit
Label20.Text = (Label16.Text + Label17.Text + Label18.Text + Label19.Text)
en die code die werkt niet want hij geeft een fout melding bij heel die code en ik ken die code soort niet.
en die site die edmoor me gaf is niet zo goed want ik vind het een moelijke taal die ze daar in gebruiken.
 
Als je de foutmelding niet geeft kunnen wij weinig, niet? ;)

En de sites van edmoor zijn toch prima? Gewoon Nederlands ;)
 
Dat zal dan komen omdat de inhoud van al die textboxen gezien worden als een string en geen integer. In dat geval kun je Cint gebruiken om de inhoud te converteren naar een integer. Dan kun je als het goed is wel de getallen optellen.

Code:
Label20.Text = cint(Label16.Text) + cint(Label17.Text) + cint(Label18.Text) + cint(Label19.Text)
 
@Atom: Maar conversie van string naar double kan toch ook? TS wil 't decimaal hebben.
 
Oja, oeps. Ik zat daarnet met integers te klieren, vandaar.

Cint wordt dan Cdbl. :)
 
.
en die site die edmoor me gaf is niet zo goed want ik vind het een moelijke taal die ze daar in gebruiken.

Die site is prima en de taal die ze daar gebruiken is gewoon Visual Basic.
De taal dus waar je je vraag hebt geplaatst.
 
hij/het werkt heel erg bedankt allemaal:3
@edmoor daar heb je gelijk in maar omdat ik nog niet zo goed ben in VB taal is dat nog best wel moeilijk voor mij :3
 
Het simpelste lijkt me ze eerst allemaal te gaan declareren
Dim dblGetal1, dblGetal2, ...... , dblGetal20 As Double

vervolgens geef je elk getal de waarde die je het wilt geven
(indien met textvakjes)

dblGetal1 = double.Parse(txtGetal1.Text)
--> ik raad je aan met tekstvakken te werken, ordelijker

vervolgens maak je gewoon de som

Dim dblResultaat as Double

dblResultaat = dblGetal1+ dblGetal2 + ......... dblGetal20"
Messagebox.Show("De uitkomst van uw som is " & dblResultaat )
 
Laatst bewerkt:
@AnthoVN: De TS zegt dat het is opgelost, hoor ;)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan