Problemen met afrondingen

Status
Niet open voor verdere reacties.

harolda1980

Gebruiker
Lid geworden
7 aug 2007
Berichten
488
Na het afronden zet het systeem de kosten in het programma goed neer(visueel). Alleen als je goed kijkt in de code blijven de cijfers achter de komma wel bestand.

Hoe los ik dit op. Een snelle oplossing is meerdere cijfers achter de komma toe laten bij het opslaan.

Zelf om het goed te controleren had ik het idee om bij 3 cijfers achter de komma in de code de getallen weg te halen.
 
Gaat het over excel?

+round(celnaam, 0)

Dan rond excel het af oo 0 cijfers achter de komma. Of is dit niet wat je bedoeld?
 
Ja nou ik wil hem wel laten afronden aangezien ik met inkoopprijzen werk. Dus dan zit ik met 2 cijfers achter de komma. en dan zou ik voor accuratie een derde kunnen nemen. Maar in vergelijkingen wil ik dit gelijk stellen. Dus de vraag is hoe zorg ik dat ik altijd 3 cijfers of 2 cijfers achter de komma hem. aangezien rond een weergave functie is. En onderliggend de getallen wel blijven.
 
rechtermuisknop - format cells - numbers - decimal places: 2 (of 3 als je er 3 wilt)?
 
Ik snap het probleem. Dit is echter bij design. Je hebt de echte waarde van een cel en de weergegeven waarde. Bij bijv. gasprijzen komt dit goed uit. Als je een klein bedrag met heel veel vermenigvuldigt dan maakt het aantal cijfers achter de komma wel degelijk verschil. Alleen het resultaat wil je netjes weergeven.

Concreet is de enige oplossing om de getallen naar tekst te converteren. Daarna de gewenste lengte te nemen en dit terug te vertalen naar een getal.
 
Ja precies dat klopt alleen door dit probleem geeft het systeem op dat prijzen verlopen zijn met een meerdere procenten. terwijl dit dus niet waar is.

En wat zou ik dit geval een goeie stabiele code zijn die kijkt hoeveel cijfers er achter de komma staan. en daar altijd de eerste 3 na de komma laat staan.
 
Eens. Excel kan nog steeds niet rekenen. Zoals ik al zei je zult er omheen moeten werken. Oftewel 3 stappen.
-Nummer naar string (tekst) omzetten met =ToString(B5)
-Komma zoeken in de string en dan de string inkorten na het 3e teken na de komma
-De string weer omzetten naar een getal om er verder mee te kunnen rekenen
 
Heb nu deze functie gevonden om hem op 3 decimalen af te ronden

Code:
B = CCur(Left(V, InStr(1, CStr(V), ",") + 3))
 
Beste harolda1980,

Ik heb deze thread aandachtig gelezen en toch begrijp ik iets niet goed.
round() is helemaal geen weergave functie. dat geldt bijvoorbeeld wel voor Range.Numberformat
je kunt het resultaat van round toewijzen aan een variabele

de volgende codes ronden af op drie cijfers?

Code:
B = Format(V,"0.000") (string)
B = round(V,3)

bij het berekenen op werkbladen geeft =AFRONDEN(1,2345678;2)*100000 als resultaat 123000, je berekent namelijk verder met de afgeronde waarde.

of mis ik het compleet? (dat kan altijd natuurlijk)
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan