Toon posts:

[VB] het weergeven van de punt van double werkt niet

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik wil graag rekenen in euros en dan ook bedragen die geen hele euros zijn weergeven alleen als ik een double invul in het textvakje en op verkoop druk bijvoorbeeld dan herkent hij het als een geheel getal en rekent hij er niet mee als double.

dit is mijn code

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Private Sub cmdVerkoop_Click()

'inlezen van de kassastand en het bedrag
kassastand = CInt(txtKassaStand.Text)
bedrag = CInt(txtBedrag.Text)

'berekenen van de kassastand na verkoop van het bedrag
uitkomst = Str(kassastand + bedrag)

'de nieuwe stand weergeven
txtKassaStand.Text = uitkomst

'zet het ingevulde bedrag weer terug op 0
txtBedrag.Text = 0



End Sub


Variabelen heb ik als volgt gedeclareerd

Public kassastand As Double
Public bedrag As Double
Public uitkomst As String

Als ik dus 100 +1.23 doe dan krijg ik als resultaat 223, en als ik 100 + 1,23 doe krij ik 102

Wie ziet wat het probleem is??

Ik hoor het graag..

Verwijderd

met CInt maak je er weer een integer van (ook al heb je um als diuble declared)
dus das nie handig dan he :)

  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
Landinstellingen zijn je probleem. Je hebt nu waarschijnlijk komma als decimaal scheidingsteken staan ipv punt.

Maar heel simpele oplossing hiervoor is : doe eerst alles x100 dan alles berekenen en de uitkomst /100

  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 14-05-2024

OZ-Gump

terug van weggeweest

Gomez12 schreef op woensdag 09 maart 2005 @ 19:36:
Landinstellingen zijn je probleem. Je hebt nu waarschijnlijk komma als decimaal scheidingsteken staan ipv punt.

Maar heel simpele oplossing hiervoor is : doe eerst alles x100 dan alles berekenen en de uitkomst /100
Als je zoals de TS doet de uitkomst van die (volkomen onnodige) berekening vervolgens weer naar een integer cast met CInt heb je er niks meer aan. Landinstellingen zijn het probleem ook niet, aangezien er niets achter de komma/punt wordt weergegeven.

Zoals al eerder geroepen: iets casten naar een int zorgt ervoor dat je de gegevens achter de punt/komma kwijtraakt...

My personal website


  • Force
  • Registratie: Januari 2000
  • Laatst online: 31-07-2023

Force

Kan iemand ff me neus afvegen?

Zoals al gezegd zit je probleem in Cint. Vervang dit voor CDbl.

Leven is als een pijpkaneel, iedereen zuigt eraan en krijgt zijn deel.


Verwijderd

Topicstarter
Die oplossing helpt inderdaad alleen heb ik nu een vreemd probleem,:

Stel ik doe 100 + 2,5 dan geeft hij het de eerste keer goed weeer, namelijk 102,5, maar als ik dan weer een bedrag invoer, bijvoorbeeld weer 2,5 dan krijg ik 1027,5

Hoe kan hij het de eerste keer wel goed doen en daarna neit meer??

Verwijderd

Topicstarter
nu ik uitkomst = Str(kassastand + bedrag) ook als Cdbl doorgeef doet alles het :)
Pagina: 1