Dit artikel is bijdragen van Anne Schmidt . Anne Schmidt is scheikundedocent in Wisconsin. Ze geeft al meer dan 20 jaar scheikundeles op de middelbare school en haar passie is het bieden van toegankelijke en educatieve content over scheikunde. Haar educatieve YouTube-kanaal over scheikunde heeft meer dan 9000 abonnees. Anne heeft presentaties gegeven bij de American Association of Chemistry Teachers (AATC) en heeft gewerkt als parttime docent algemene scheikunde aan Northeast Wisconsin Technical College. Een artikel waaraan ze meegeschreven heeft is gepubliceerd in het Journal of Chemical Education en er is een artikel van haar verschenen op ChemEdX. Ze heeft twee keer een presentatie gegeven bij de AATC en heeft via hen werk gepubliceerd. Anne heeft een bachelordiploma in scheikunde behaald aan de Universiteit van Wisconsin in Oshkosh en een masterdiploma in secundair onderwijs aan de Universiteit van Viterbo.
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.
Stappen
-
Java, net als andere programmeertalen, gebruikt standaard deling met hele getallen. 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] X Bron In dit voorbeeld zetten we a naardouble
zodat we een decimale uitkomst krijgen:int a = 55 ; int b = 25 ; double r = ( double ) a / b // De uitkomst is 2,2.
Advertentie
-
Wanneer je een decimaal getal door een ander decimaal getal deelt, gebruik je dubbele deling. [2] X Bron 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
-
Als je werkt met valuta of als je de nauwkeurigste decimale uitkomst nodig hebt, gebruik je de BigDecimal class. Floating-point rekenen (wat is wat je doet met
double
) is minder nauwkeurig omdatdouble
getallen opslaat als binaire representaties van breuken en exponenten in plaats van exacte representaties (fixed-point getallen). [3] X Bron Om te zorgen dat je met fixed-point getallen werkt, gebruik jeBigDecimal
. 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 zijnUP
(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), ofUNNECESSARY
(uitkomst moet exact zijn). [4] X Bron
Advertentie - Wanneer je BigDecimal gebruikt, moet je de
Gerelateerde artikelen
Bronnen
Over dit artikel
Was dit artikel nuttig?
Gerelateerde artikelen
Meld je aan voor de gratis nieuwsbrief van wikiHow!
Je vindt dan elke week handige handleidingen in je inbox.
Meld me aan!