Inhoudsopgave:
Video: ascii-0 2024
Van tijd tot tijd moet u numerieke gegevens van het ene type naar het andere in Java converteren. Mogelijk moet u een dubbele waarde converteren naar een geheel getal of omgekeerd. Sommige conversies kunnen automatisch worden gedaan; andere worden gedaan met een techniek genaamd casting.
Automatische conversies in Java
Java kan sommige primitieve typen automatisch naar anderen converteren en dit wanneer dat nodig is. De afbeelding hieronder laat zien welke conversies Java toestaat. Houd er rekening mee dat de conversies die worden weergegeven met onderstaande gestippelde pijlen ertoe kunnen leiden dat de nauwkeurigheid van sommige waarden verloren gaat. Een
int
kan bijvoorbeeld worden geconverteerd naar een
float
, maar grote
int
waarden worden niet exact geconverteerd omdat
int
waarden kunnen meer cijfers hebben dan kan worden weergegeven door het type
float
.
Telkens wanneer u een wiskundige bewerking uitvoert op twee waarden die niet van hetzelfde type zijn, converteert Java de ene automatisch naar het type van de andere. Dit zijn de regels die Java volgt bij het uitvoeren van deze conversie:
- Als een van de waarden een
dubbele
is, wordt de andere waarde geconverteerd naar eendubbele
. - Als geen van beide
dubbele
is, maar éénzwevend
, wordt de andere omgezet inzwevend
. - Als geen van beide
dubbele
ofzwevende
is, maar éénlange
, wordt de andere geconverteerd naarlang
. - Als al het andere faalt, worden beide waarden geconverteerd naar
int
.
Type casting
Casting lijkt op conversie maar wordt niet automatisch gedaan. Als u bijvoorbeeld een
dubbele
naar een
int
wilt converteren, moet u casting gebruiken.
Wanneer u casten gebruikt, riskeert u informatie te verliezen. Een
double
kan bijvoorbeeld grotere getallen bevatten dan een
int
. Bovendien kan een
int
het fractionele gedeelte van
dubbele
niet bevatten. Als u een
dubbele
cast naar een
int
, loopt u het risico gegevens of nauwkeurigheid te verliezen, dus
3. 1415
wordt bijvoorbeeld
3
.
Om een primitieve waarde van het ene type naar het andere te casten, gebruik je een cast-operator,, wat simpelweg de naam is van een primitief type tussen haakjes geplaatst voor de waarde die je wilt gegoten. Bijvoorbeeld:
dubbele pi = 3. 1314;
int iPi;
iPi = (int) pi;
Merk op dat het fractionele deel van een dubbel eenvoudig wordt weggegooid wanneer het naar een geheel getal wordt gegoten; het is niet afgerond. Bijvoorbeeld:
dubbele prijs = 9. 99;
int iPrice = (int) prijs;
Hier
iPrice
krijgt de waarde
9
.Als u de dubbele waarde wilt omrekenen wanneer u deze converteert, gebruikt u de
ronde
-methode van de klasse
Math
.