Konverter int for å doble i C ++

Konverter int for å doble i C ++

Typecasting er en prosedyre for å transformere data mellom forskjellige datatyper. Denne datakonverteringsmetoden kalles også konvertering av type eller tvang. Støping gjør at datatypen kan endres i stedet for selve dataene. C ++ støtter typecasting for alle datatyper. Denne artikkelen vil diskutere en typecasting -metode: Konvertering fra int -datatype til dobbel datatype. Vi vil utforske forskjellige tilnærminger som ganske enkelt konverterer int for å doble datatypen.

To kategorier av konvertering i C++

Implisitt type konvertering

Den implisitte typen konvertering gjøres spontant. I denne konverteringen har brukeren ingen innspill, og kompilatoren gjør konverteringen helt på egen hånd. Når det er mange typer data i et uttrykk, blir konvertering ofte utført. Imidlertid er det en risiko for tap av data, skilttap eller dataoverløp med denne formen for konvertering.

Eksplisitt type konvertering

Den eksplisitte typen er definert av brukeren og blir noen ganger referert til som "type-casting.”Avhengig av behovene, oversetter eller konverterer brukeren data for en datatype til en annen. Denne typen konverteringer er sikrere.

Eksempel 1

Følgende eksempel er arbeidet med implisitt type konvertering, som konverterer int for å doble datatype. Programmet starter fra overskriftsfilene. Vi har to overskriftsfiler i overskriftsdelen. Så er det kodeimplementeringens hovedfunksjon. I hovedfunksjonen har vi definert en variabel som "intnumber" av heltalldatatype og initialisert den med den integrerte verdien.

På samme måte har vi laget en annen variabel som "doublenumber" av datatype dobbelt, men den er ikke initialisert. Nå må vi konvertere Int -datatypen til verdien med dobbel datatype. Så vi har tildelt Int -variabelen “Intnumer” til en dobbel datatypevariabel “Doublenumber”. Denne tilnærmingen er den implisitte typen konvertering. Verdiene for int -datatype og dobbel datatype vil bli skrevet ut gjennom C ++ COUT -kommandoen.

Før du tildeler INT -verdien til dobbeltvariabelen, forvandler kompilatoren den til å doble automatisk. Som du kan se på bildet, kan ikke int inkludere en desimalverdi, og sifrene etter desimalpunktet er avkortet i dette eksemplet.

Eksempel 2

Vi har sett konvertering av int for å doble i foregående eksempel. Nå vil vi konvertere dobbelt til int, som også gjøres gjennom implisitt konvertering.

I det første trinnet har vi inkludert IOSTREAM- og STD -navneområder. Deretter påkalte vi programmets hovedfunksjon, der vi erklærte en heltalldatatypevariabel “Intval”. Vi har også erklært en annen variabel av dobbel datatype som "doubleval" og initialisert den med dobbeltverdien da den inneholder en desimal del. For konverteringen har vi tildelt den doble variabelen til INT -variabelen. Den implisitte konverteringsverdien vil bli skrevet ut på konsollskjermen når du utfører programmet.

Du kan se dobbeltverdien og konvertering av doble data i int -data som utgang.

Eksempel 3

Som vi ser fra forrige eksempel, er konvertering fra en datatype til en annen en sjanse for tap av data. Dette skjer når data med større type blir transformert til data fra mindre type. For å overvinne datatapsproblemet, utførte vi eksplisitt type konvertering. Den eksplisitte typen støping gjøres gjennom typen C-stil. Som navnet tilsier, favoriserer det en C -språkform for casting. Cast Notation er en annen betegnelse for det.

Programmet begynner med overskriftsdelen, som inkluderer C ++ -filene. I neste trinn opprettes hovedfunksjonen der variabelen er definert som "intnumber" av datatype "int" og lagrer den integrerte verdien. En annen variabel er erklært som "doublenumber" av datatype "dobbel".

Deretter har vi brukt casting-metoden C-stil, som bruker typen Double Notation med INT-variabelen og tildeler den til dobbeltvariabelen, “Doublenumber”. Disse verdiene vil bli skrevet ut ved å bruke c ++ cout -kommandoen.

Desimaldelen er avkortet ettersom Int -datatypen ikke har noen datatype.

Eksempel 4

Notasjonsfunksjonen kan også flytte data mellom forskjellige datatyper. Følgende program bruker funksjonsstil for å konvertere int for å doble datatype.

Vi har hovedfunksjonen der vi har opprettet en Int -datatypevariabel som "Integer_x" og initialisert den med den numeriske verdien "20". Variabelen med dobbel type er også definert som "double_y". Deretter brukte vi funksjonstypecasting for å konvertere int -data til dobbel type. Vi har bestått INT -variabelen “Integer_x” som funksjonen og definerte den med datatypen “Double”. Variabelen “Double Y” blir deretter tilordnet funksjonen.

Resultatet av funksjonsstilen som er utført på INT -typen for å konvertere til dobbel datatype som vises på følgende bilde:

Eksempel 5

For typekonvertering av dobbelt til int, implementerte vi både C-stilkonvertering og støping av funksjonsstil. Dette vil vise resultatene fra de to måtene å eksplisitte typekasting.

I hovedfunksjonsblokken til dette programmet har vi en dobbel datatypevariabel som "doublex" og initialisert med desimalverdien. Deretter opprettet vi ytterligere to variabler, “Integer1” og “Integer2”, og tildelte en datatype int. INT-variabelen “Integer1” brukes til konvertering av C-stil, og INT-variabelen “Integre2” brukes til funksjonsstilkonvertering. De konverterte verdiene til heltall fra doble data vil bli skrevet ut etter å ha utført begge konverteringen.

Ettersom begge måter med eksplisitt konvertering gjør det samme, gir de det samme etter resultatene:

Konklusjon

Vi vil avslutte diskusjonen om typekasting av int å doble i C++. Vi har lært om implisitte og eksplisitte konverteringer av int -data for å doble og doble data til int -datatype brukt i C++. Imidlertid kan konverteringer eller typecasting bare brukes nøye og bare når det er nødvendig for å unngå tap av data og andre problemer.