PDF download Pdf downloaden PDF download Pdf downloaden

Dit wikiHow artikel laat je drie manieren zien om met decimale getallen te werken in Java. Als je twee hele getallen (niet decimaal) wilt delen en een niet afgerond antwoord wilt krijgen, maak je een van de operanden dubbel. Om twee decimale getallen (of een heel getal door een decimaal en omgekeerd) te delen, kun je een eenvoudige dubbele deelsom gebruiken om een decimaal resultaat te krijgen. Als je met grotere getallen werkt of getallen die extreem nauwkeurig moeten zijn, kun je de BigDecimal Java class gebruiken in plaats van floating-point rekenen.

1

Een decimaal resultaat krijgen uit twee hele getallen

PDF download Pdf downloaden
  1. Als het delen van twee hele getallen resulteert in een restgetal, wordt het restgetal weggegooid, waardoor je overblijft met een heel getal als het antwoord. Als je twee hele getallen moet delen en je krijgt een decimale uitkomst, kun je ofwel de teller of noemer double zetten voor de handeling wordt uitgevoerd. [1] In dit voorbeeld zetten we a naar double zodat we een decimale uitkomst krijgen:
     int 
     a 
     = 
     55 
     ; 
     int 
     b 
     = 
     25 
     ; 
     double 
     r 
     = 
     ( 
     double 
     ) 
     a 
     / 
     b 
     // De uitkomst is 2,2. 
    
    Advertentie
2

Twee decimale getallen delen (dubbelen)

PDF download Pdf downloaden
  1. [2] Op dezelfde manier als een van de twee operanden een heel getal is (een niet-decimaal getal), zal de uitkomst nog steeds een decimaal getal zijn als de andere operand een dubbel is. Hier is een eenvoudig voorbeeld van het delen van twee decimale getallen met dubbele deling:
     double 
     x 
     = 
     10.5 
     ; 
     double 
     y 
     = 
     2.5 
     ; 
     x 
     / 
     y 
     // de uitkomst is 4,2 
    
3

Krijg het nauwkeurigste decimale resultaat met BigDecimal

PDF download Pdf downloaden
  1. Floating-point rekenen (wat is wat je doet met double ) is minder nauwkeurig omdat double getallen opslaat als binaire representaties van breuken en exponenten in plaats van exacte representaties (fixed-point getallen). [3] Om te zorgen dat je met fixed-point getallen werkt, gebruik je BigDecimal . In dit voorbeeld zullen we BigDecimal gebruiken om twee getallen te delen voor een nauwkeurig resultaat:
     BigDecimal 
     bdec 
     = 
     new 
     BigDecimal 
     ( 
     "706" 
     ); 
     BigDecimal 
     bdecRes 
     = 
     bdec 
     . 
     divide 
     ( 
     new 
     BigDecimal 
     ( 
     "20" 
     )); 
     System 
     . 
     out 
     . 
     println 
     ( 
     "Divide: " 
     + 
     bdecRes 
     ); 
     // Deel met MathContext 
     MathContext 
     mc 
     = 
     new 
     MathContext 
     ( 
     2 
     , 
     RoundingMode 
     . 
     FLOOR 
     ); 
     BigDecimal 
     bdecMath 
     = 
     bdec 
     . 
     divide 
     ( 
     new 
     BigDecimal 
     ( 
     "20" 
     ), 
     mc 
     ); 
     System 
     . 
     out 
     . 
     println 
     ( 
     "Divide with MathContext: " 
     + 
     bdecMath 
     ); 
     // de eerste uitkomst zal zijn 45.25 en de tweede zal zijn 45. 
    
    • Wanneer je BigDecimal gebruikt, moet je de RoundingMode specificeren voor de uitkomst, wat kan zijn UP (weg van nul), DOWN (naar nul), CEILING (naar positieve oneindigheid), FLOOR (naar negatieve oneindigheid), HALF_UP (naar de naaste buur, of omhoog als beide buren gelijk zijn), HALF_DOWN (naar naaste buur, of omlaag indien gelijk), HALF_EVEN (naar naaste buur, of naar de naaste even buur indien gelijk), of UNNECESSARY (uitkomst moet exact zijn). [4]
    Advertentie

Over dit artikel

Deze pagina is 837 keer bekeken.

Was dit artikel nuttig?

Advertentie