Toon posts:

[VB] Onbedoelde afronding*

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ok ik heb iets heel vreemds...

Ik wil de volgende berekening maken in de volgende publieke methode:
Visual Basic:
1
2
3
4
5
6
Public Sub calculateBedrag2()
    If Aantal2.TextLength > 0 And StuksPrijs2.TextLength > 0 Then
        Bedrag2.Value = Aantal2.Value * FormatCurrency(StuksPrijs2.Value, 2, vbUseDefault, vbUseDefault, vbUseDefault)
        Bedrag2.Value = FormatCurrency(Bedrag2.Value, 2, vbUseDefault, vbUseDefault, vbUseDefault)
    End If
End Sub
Aantal2, Bedrag2 en StukPrijs2 zijn allemaal velden.
Deze methode wordt aangeroepen in de Change Event van Aantal2.

Dit werkt nu dus alleen als ik een even getal heb. Bij een oneven, ziet hij de komma van StuksPrijs2 niet.
2 * € 2,50 = € 5,00
3 * € 2,50 = € 75,00
4 * € 2,50 = € 10,00

echt HEEL vreemd. :?

het hele zooitje keer 100 en dat soort dingen werkt dus niet. Wat zie ik hier over het hoofd?

  • Sponge
  • Registratie: Januari 2002
  • Laatst online: 15-08 11:47

Sponge

Serious Game Developer

Ik denk dat je die formatCurrency beter als laatste kunt doen, na alle berekeningen? (Ik ken die hele functie niet btw, snap ook niet precies wat die doet).

Overigens is het misschien ook wel het bekende "," of "." als decimaal scheiding probleem. Probeer eens in "internationale intestellingen" oid ("Regional options"), de . naar , te veranderen of de , naar . ? :)

  • axis
  • Registratie: Juni 2000
  • Laatst online: 26-01-2023
rule of thumb.. bij je berekeningen gebruik je altijd de originele waarden, en pas bij het presenteren roep je zo'n formatcurrency aan.

Hier voer je tussendoor ook al een format uit.. da's niet netjes.. imho..

Two advices for network troubleshooting.. learn to draw diagrams in Visio, and THINK IN LAYERS!


Verwijderd

Topicstarter
OK, ik moet dus eerst de velden ophalen, berekening maken en helemaal achteraf pas formatten.
Moet ik nog speciale velden declareren? Want die StuksPrijs2 heeft natuurlijk ook de Currency formatering. Moet ik deze altijd eerst terugvertalen naar een Decimal? Of een Float?

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Verwijderd schreef op 01 October 2003 @ 12:21:
OK, ik moet dus eerst de velden ophalen, berekening maken en helemaal achteraf pas formatten.
Ja. :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo