Innehållsförteckning:
Video: Java program for temperature conversion 2024
Du behöver då och då konvertera numeriska data från en typ till en annan i Java. Du kan behöva konvertera ett dubbelvärde till ett heltal, eller vice versa. Vissa konverteringar kan göras automatiskt; andra görs med en teknik som heter gjutning.
Automatiska konverteringar i Java
Java kan automatiskt konvertera några primitiva typer till andra och göra det när det behövs. Bilden nedan visar vilka konverteringar Java tillåter. Observera att de omvandlingar som visas med prickade pilar nedan kan orsaka att värdet på precisionen förloras. En
int
kan omvandlas till en
float
, till exempel men stora
int
-värden kommer inte att konverteras exakt för att
int
-värden kan har fler siffror än vad som kan representeras av typen
float
.
När du utför en matematisk operation på två värden som inte är av samma typ, konverterar Java automatiskt en av dem till den andra typen. Här följer de regler som Java följer när konverteringen görs:
- Om ett av värdena är
dubbel
konverteras det andra värdet till endubbel
. - Om inte
dubbel
men en är enfloat
omvandlas den andra till enfloat
. - Om varken
dubbel
ellerfloat
men en ärlång
omvandlas den andra till enlång
. - Om allt annat misslyckas konverteras båda värdena till
int
.
Typgjutning
Gjutning liknar konvertering men görs inte automatiskt. Om du vill konvertera en
dubbel
till en
int
, måste du till exempel använda gjutning.
När du använder gjutning riskerar du att förlora information. En
dubbel
kan innehålla större siffror än en
int
, till exempel. Dessutom kan en
int
inte hålla delningsdelen av en
dubbel
. Som ett resultat, om du kastar en
dubbel
till en
int
, riskerar du att förlora data eller noggrannhet, så
3. 1415
blir
3
, till exempel.
För att kasta ett primitivt värde från en typ till en annan, använder du en cast-operatör, som helt enkelt är namnet på en primitiv typ inom parentes placerad före det värde du vill kasta. Till exempel:
dubbelpi = 3, 1314;
int iPi;
iPi = (int) pi;
Observera att den delade delen av en dubbel helt enkelt kasseras när den kastas till ett heltal; det är inte avrundat. Till exempel:
dubbel pris = 9,99;
int iPrice = (int) pris;
Här
iPrice
tilldelas värdet
9
.Om du vill runda dubbelvärdet när du konverterar det, använd
runda
-metoden i klassen
Math
.