Indholdsfortegnelse:
Video: How To Convert Hexadecimal to Decimal 2025
Fra tid til anden skal du konvertere numeriske data fra en type til en anden i Java. Du kan muligvis konvertere en dobbeltværdi til et helt tal eller omvendt. Nogle konverteringer kan ske automatisk; andre er færdige ved hjælp af en teknik kaldet støbning.
Automatisk konverteringer i Java
Java kan automatisk konvertere nogle primitive typer til andre og gøre det, når det er nødvendigt. Billedet nedenfor viser, hvilke konverteringer Java tillader. Bemærk, at konverteringerne vist med stiplede pile nedenfor kan medføre, at nogle af værdiens præcision går tabt. En
int
kan f.eks. Konverteres til
float
, men store
int
værdier vil ikke blive konverteret præcis, fordi
int
værdier kan Har flere cifre end kan repræsenteres af typen
float
.
Når du udfører en matematisk operation på to værdier, der ikke er af samme type, konverterer Java automatisk en af dem til den anden type. Her følger reglerne Java, når du foretager denne konvertering:
- Hvis en af værdierne er
dobbelt
, konverteres den anden værdi tildobbelt
. - Hvis der ikke er en
dobbelt
men en er enfloat
, konverteres den anden til enfloat
. - Hvis der ikke er en
dobbelt
eller enfloat
, men den ene erlang
, konverteres den anden tillang
. - Hvis alt andet fejler, konverteres begge værdier til
int
.
Type støbning
Støbning ligner konvertering, men udføres ikke automatisk. Hvis du vil konvertere en
dobbelt
til en
int
, skal du f.eks. Bruge støbning.
Når du bruger støbning, risikerer du at miste information. En
dobbelt
kan f.eks. Indeholde større tal end en
int
. Derudover kan en
int
ikke holde den delte del af en
dobbelt
. Som følge heraf risikerer du at tabe data eller nøjagtighed, så
3, hvis du kaster en
dobbelt
til en
int
. 1415
bliver f.eks.
3
.
Hvis du vil kaste en primitiv værdi fra en type til en anden, bruger du en cast operatør,, som simpelthen er navnet på en primitiv type inden for parentes placeret før den værdi, du vil støbt. For eksempel:
dobbelt pi = 3, 1314;
int iPi;
iPi = (int) pi;
Bemærk, at den delte del af en dobbelt simpelthen kasseres, når den kastes til et helt tal; den er ikke afrundet. For eksempel:
dobbelt pris = 9,99;
int iPrice = (int) pris;
Her
iPrice
tildeles værdien
9
.Hvis du vil omregne dobbeltværdien, når du konverterer den, skal du bruge
runde
-metoden i klassen
Math
.