Oorspronkelijk was het percentage ook als currency gedeclareerd en werd er (door de gebruiker) een getal als string ingevuld in de database, welke later weer als float werd ingelezen naar het percentage-veld (als currency).
Eerst dacht ik dat het snel gefixt was door de currency (van percentage) te veranderen naar double maar daarmee was het probleem helaas nog niet opgelost.
Het "Grappige" is dat Excel mij roet in de ogen gooide toen ik speelde met de decimals waarde in het dialoogvenster waar je het veldtype kunt aanpassen:
Ga je namelijk spelen met de "Decimal places" waarde, dan krijg je deze resultaten (van 8 decimalen naar 2 decimalen achter de komma):
5,49495540 => 5,4949554 => 5,494955 => 5,49496 => 5,4950 => 5,495 => 5,49
Mijn (onterechte) aanname was dat elke stap op zichzelf zou staan: wanneer je dus gewoon de Delphi uitkomst (5,4950) zou gebruiken, dat dan de uitkomsten identiek zouden zijn.
Maar nee: vul ik alleen 5,4950 in als waarde in Excel en rond ik die af op twee decimalen, dan maakt Excel daar ook (of wél) 5,50 van:
Het is dus daadwerkelijk belangrijk wat de waarde oorspronkelijk was (met al zijn decimalen).
Neemt niet weg dat ik de manier van afronden apart vind; dit is een van mijn eerdere notities (volgens de "Normale" afrondingsregels):
- 5,4949554 removing the 4 makes it 5,494955
- 5,494955 removing the 5 makes it 5,49496
- 5,49496 removing the 6 makes it 5,4950
- 5,4950 removing the 0 makes it 5,495
- 5,495 removing the 5 makes it 5,50
Bookmarks