Symphysodon
Gebruiker
- Lid geworden
- 14 dec 2012
- Berichten
- 468
Beste forummers,
Ik heb een nieuwe vraag over het afronden van getallen.
Het gaat om getallen tussen 0.1 en 100000
Voor getallen tussen 0.1 en 1 gelden de eisen:
- afronding op 2 decimalen nauwkeurig.
- getallen eindigend op een 5 met 12 nullen dienen afgerond te worden naar het dichtstbijzijnde even getal.
Voor de getallen tussen 1 en 100000 gelden de volgende eisen:
- afronding op 1 decimaal nauwkeurig, ook gehele getallen.
- getallen eindigend op een 5 met 12 nullen dienen afgerond te worden naar het dichtstbijzijnde even getal.
- De notatie van getallen > 1000 moeten zonder floating point.
In het onderstaande voorbeeld het stukje code dat ik heb, maar nog niet helemaal klopt.
Met de worksheetfunctie fixed(round.. worden de getallen eindigend op een 5 en 12 nullen, netjes afgerond naar het dichtstbijzijnde even getal. Voorbeeld 996.65 wordt 996.6
Ook wordt met deze functie een geheel getal gepresenteerd met 1 decimaal. Voorbeeld: 565.00000 wordt 565.0
Wat niet lukt is i.d.g. voorkomen van een floating point in de presentatie. Voorbeeld: 1000.0000 wordt 1,000.0 i.p.v. 1000.0.
In het tweede gedeelte gaat de afronding naar het dichtstbijzijnde even getal goed, zo ook notatie zonder floating point, maar lukt het weer niet om gehele getallen te presenteren met 1 decimaal nauwkeurig.
De getal notatie in het werkblad staat op standaard. In het werkblad zelf heb ik nog geprobeerd om met de functie Vast 1 decimaal te krijgen en dat lukt ook alleen krijg ik dan weer een coma in getallen >1000
Ik heb een nieuwe vraag over het afronden van getallen.
Het gaat om getallen tussen 0.1 en 100000
Voor getallen tussen 0.1 en 1 gelden de eisen:
- afronding op 2 decimalen nauwkeurig.
- getallen eindigend op een 5 met 12 nullen dienen afgerond te worden naar het dichtstbijzijnde even getal.
Voor de getallen tussen 1 en 100000 gelden de volgende eisen:
- afronding op 1 decimaal nauwkeurig, ook gehele getallen.
- getallen eindigend op een 5 met 12 nullen dienen afgerond te worden naar het dichtstbijzijnde even getal.
- De notatie van getallen > 1000 moeten zonder floating point.
In het onderstaande voorbeeld het stukje code dat ik heb, maar nog niet helemaal klopt.
Code:
Function Afronden_even(Getal) As Variant
Select Case Getal
Case 0.1 To 0.9999999
afgerond = Application.WorksheetFunction.Fixed(Round(Getal, 2), 2)
Case 1 To 100000
afgerond = Application.WorksheetFunction.Fixed(Round(Getal, 1), 1)
If afgerond > 1000 Then
afgerond = Round(Getal, 1) * 1
Else
afgerond = afgerond
End If
End Select
Afronden_even = afgerond
End Function
Met de worksheetfunctie fixed(round.. worden de getallen eindigend op een 5 en 12 nullen, netjes afgerond naar het dichtstbijzijnde even getal. Voorbeeld 996.65 wordt 996.6
Ook wordt met deze functie een geheel getal gepresenteerd met 1 decimaal. Voorbeeld: 565.00000 wordt 565.0
Wat niet lukt is i.d.g. voorkomen van een floating point in de presentatie. Voorbeeld: 1000.0000 wordt 1,000.0 i.p.v. 1000.0.
In het tweede gedeelte gaat de afronding naar het dichtstbijzijnde even getal goed, zo ook notatie zonder floating point, maar lukt het weer niet om gehele getallen te presenteren met 1 decimaal nauwkeurig.
De getal notatie in het werkblad staat op standaard. In het werkblad zelf heb ik nog geprobeerd om met de functie Vast 1 decimaal te krijgen en dat lukt ook alleen krijg ik dan weer een coma in getallen >1000
Bijlagen
Laatst bewerkt: