Toon posts:

[VB 2008] icm Sql Server 2008 Afrondingsprobleem

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik zit met het volgende probleem:

Ik heb een veld ('totaal') in de database (numeric 18,2) waarin een waarde wordt opgeslagen. Vervolgens heb ik een tabel waarin de details worden opgeslagen. Deze tabel heeft het veld 'detailwaarde' (numeric 18,2). Dit is een deling van het getal bij totaal door het aantal detail-records.

Nu zit ik hierbij met een probleem bij het terugrekenen. Wanneer ik de details weer bij elkaar optel, dan kom ik niet altijd aan dezelfde waarde als in het veld Totaal. Er blijft dan (soms) een klein afrondingsverschil over.
Bijvoorbeeld in het veld totaal staat 10 en er zijn 9 detail records. Deze hebben allemaal dus 1,11 aan waarde. Wanneer ik dan deze terugreken kom ik uit op 9,99.

Ik zou het op kunnen lossen door er numeric (18,9) of iets dergelijks van te maken, maar dit is weer niet echt handig voor andere onderdelen in de applicatie. Is er iemand die hier misschien een andere oplossing voor heeft/weet?

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Lees onze Getallen en talstelsels FAQ eens ;)

[ Voor 3% gewijzigd door RobIII op 21-07-2010 11:04 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij