C# Academy · leksjon

Konverter mellom tall

Casts og Convert-metoder.

Leksjon 4 av 413 trinn

Konverter mellom tall er en gratis leksjon i C# Academy på CoddyKit. Dette er leksjon 4 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i C# Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i C# Academy inneholder totalt 4 leksjoner.

Hvorfor konvertere?

Ulike numeriske typer kan ikke alltid blandes fritt. Noen ganger må en verdi konverteres fra én type til en annen.

C# tilbyr implisitte konverteringer, eksplisitt casting, Convert-klassen og parsing fra tekst. Denne leksjonen dekker alle delene.

Implisitt konvertering

Når måltypen kan romme alle mulige verdier fra kildetypen, konverterer C# implisitt uten ekstra syntaks.

En int får plass i en double, så denne tilordningen skjer automatisk og er trygg.

int whole = 7;
double real = whole;
Console.WriteLine(real);

Eksplisitt casting

Konvertering den andre veien kan føre til datatap, så C# krever en eksplisitt cast med måltypen i parentes.

Casting av en double til int avkorter brøkdelen mot null.

double price = 9.99;
int dollars = (int)price;
Console.WriteLine(dollars);

Casting kan gi overflow

Casting av en verdi som ikke får plass i måltypen, kan gi feil resultat på grunn av overflow.

Casting av en stor long til en int får verdien til å gå rundt, så kontroller alltid at verdien får plass.

long big = 3000000000;
int small = (int)big;
Console.WriteLine(small);

Convert-klassen

System.Convert-klassen konverterer mellom typer ved hjelp av metoder som Convert.ToInt32 og Convert.ToDouble.

I motsetning til casting avrunder Convert.ToInt32 en double-verdi til nærmeste heltall i stedet for å avkorte den.

double value = 9.99;
int rounded = Convert.ToInt32(value);
Console.WriteLine(rounded);

Parse tall fra tekst

Brukerinndata og filer kommer inn som string. Bruk int.Parse eller double.Parse for å gjøre tekst om til tall.

Teksten må være et gyldig tall, ellers kaster parsing et unntak.

string text = "42";
int number = int.Parse(text);
Console.WriteLine(number + 8);

Trygg parsing med TryParse

int.TryParse forsøker en konvertering og returnerer true eller false i stedet for å kaste et unntak. Den parsede verdien returneres gjennom en out-parameter.

Dette er den trygge måten å håndtere inndata du ikke stoler på.

bool ok = int.TryParse("abc", out int result);
Console.WriteLine(ok);
Console.WriteLine(result);

Tall til strenger

Alle numeriske typer har en ToString-metode som produserer tekst. Det er mulig å sende inn en formatstreng for å styre utseendet.

  • "C" valuta
  • "F2" fast format med 2 desimaler
  • "N0" tusenskilletegn
double amount = 1234.5;
Console.WriteLine(amount.ToString("F2"));
Console.WriteLine(amount.ToString("N0"));

int til double ved divisjon

En vanlig grunn til å konvertere er å unngå heltallsdivisjon. Cast én operand til double før divisjonen for å beholde desimalene.

Uten castingen ville resultatet blitt et avkortet heltall.

int scored = 7, total = 10;
double percent = (double)scored / total * 100;
Console.WriteLine(percent);

Casting, Convert eller Parse

Velg riktig verktøy:

  • Cast mellom numeriske typer (avkorting)
  • Convert mellom mange typer (avrunder og håndterer null)
  • Parse / TryParse gjør tekst om til tall

Foretrekk TryParse for alle inndata du ikke kontrollerer.

Et konverteringseksempel

Dette komplette programmet leser et tall fra tekst, konverterer det, utfører beregninger med det og formaterer resultatet som valuta.

string input = "19.95";
if (decimal.TryParse(input, out decimal price))
{
    decimal withTax = price * 1.20m;
    Console.WriteLine(withTax.ToString("F2"));
}

Rask kontroll

Velg den tryggeste måten å konvertere tekst som brukeren har skrevet, til et tall.

Oppsummering

Du har lært å konvertere tall: implisitte konverteringer når det er trygt, eksplisitt casting (som avkorter og kan gi overflow), Convert-klassen (som avrunder) og parsing av tekst med Parse og den tryggere TryParse.

Du har også formatert tall tilbake til strenger med formatkoder for ToString. Cast én operand til double for å unngå heltallsdivisjon.

Gratis å komme i gang

Lær deg C# med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
93
Leksjoner
346

Ofte stilte spørsmål

Er leksjonen «Konverter mellom tall» gratis?

Ja – hele teksten i «Konverter mellom tall» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av C# Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i C# Academy inneholder totalt 4 leksjoner.

Hva lærer jeg i «Konverter mellom tall»?

Casts og Convert-metoder. Du øver på C# Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med C# Academy?

Ingen tidligere erfaring er nødvendig. C# Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 4 av 4.

Hvor lang tid tar leksjonen «Konverter mellom tall»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne C# Academy-leksjonen?

Ja. Alle C# Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Numeriske typer
  2. Aritmetikk og presedens
  3. Math-klassen
  4. Konverter mellom tall
← Tilbake til C# Academy