Lukujen muuntaminen tyypistä toiseen
Castit ja Convert-metodit.
Lukujen muuntaminen tyypistä toiseen on ilmainen C# Academy-oppitunti CoddyKitissä. Tämä on oppitunti 4/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu C# Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. C# Academy-kurssilla on yhteensä 4 oppituntia.
Miksi muuntaa?
Eri numeerisia tyyppejä ei voi aina yhdistää vapaasti. Joskus arvo on muunnettava tyypistä toiseen.
C# tarjoaa implisiittisiä muunnoksia, eksplisiittistä castingia, Convert-luokan sekä tekstin jäsentämisen. Tässä oppitunnissa käsitellään kaikki nämä.
Implisiittinen muunnos
Kun kohdetyyppi pystyy sisältämään kaikki lähdetyypin mahdolliset arvot, C# tekee muunnoksen implisiittisesti ilman ylimääräistä syntaksia.
int mahtuu tyypin double sisään, joten tämä sijoitus tehdään automaattisesti ja turvallisesti.
int whole = 7;
double real = whole;
Console.WriteLine(real);Eksplisiittinen casting
Toiseen suuntaan muunnettaessa tietoja voi kadota, joten C# edellyttää eksplisiittistä castingia, jossa kohdetyyppi kirjoitetaan sulkeisiin.
Kun double castataan tyypiksi int, murto-osa katkaistaan kohti nollaa.
double price = 9.99;
int dollars = (int)price;
Console.WriteLine(dollars);Casting voi aiheuttaa ylivuodon
Jos castaatte arvon, joka ei mahdu kohdetyyppiin, ylivuoto voi tuottaa väärän tuloksen.
Suuren long-arvon castaus tyypiksi int kierrättää arvon ympäri, joten varmistakaa aina, että arvo mahtuu kohdetyyppiin.
long big = 3000000000;
int small = (int)big;
Console.WriteLine(small);Convert-luokka
System.Convert-luokka muuntaa tyyppejä menetelmillä, kuten Convert.ToInt32 ja Convert.ToDouble.
Toisin kuin casting, Convert.ToInt32 pyöristää double-arvon lähimpään kokonaislukuun sen sijaan, että katkaisisi murto-osan.
double value = 9.99;
int rounded = Convert.ToInt32(value);
Console.WriteLine(rounded);Lukujen jäsentäminen tekstistä
Käyttäjän syöte ja tiedostot saapuvat tyypin string muodossa. Muuttakaa teksti luvuiksi käyttämällä menetelmiä int.Parse tai double.Parse.
Tekstin on oltava kelvollinen luku, tai jäsentäminen aiheuttaa poikkeuksen.
string text = "42";
int number = int.Parse(text);
Console.WriteLine(number + 8);Turvallinen jäsentäminen TryParse-menetelmällä
int.TryParse yrittää tehdä muunnoksen ja palauttaa arvon true tai false poikkeuksen aiheuttamisen sijaan. Jäsennetty arvo palautetaan out-parametrin kautta.
Tämä on turvallinen tapa käsitellä epäluotettavaa syötettä.
bool ok = int.TryParse("abc", out int result);
Console.WriteLine(ok);
Console.WriteLine(result);Luvuista merkkijonoiksi
Jokaisella numeerisella tyypillä on ToString-menetelmä tekstin tuottamista varten. Voitte antaa muotoilumerkkijonon, jolla hallitsette ulkoasua.
"C"valuutta"F2"kiinteä muoto kahdella desimaalilla"N0"tuhaterottimilla ryhmitellyt tuhannet
double amount = 1234.5;
Console.WriteLine(amount.ToString("F2"));
Console.WriteLine(amount.ToString("N0"));int doubleksi jakamista varten
Yleinen syy muunnokseen on kokonaislukujen jaon välttäminen. Castatkaa toinen operandi tyypiksi double ennen jakoa, jotta desimaalit säilyvät.
Ilman castingia saisitte katkaistun kokonaislukutuloksen.
int scored = 7, total = 10;
double percent = (double)scored / total * 100;
Console.WriteLine(percent);Casting, Convert vai Parse
Valitkaa oikea työkalu:
- Cast numeeristen tyyppien välillä (katkaisee)
- Convert monien tyyppien välillä (pyöristää ja käsittelee null-arvot)
- Parse / TryParse muuttaa tekstin luvuiksi
Suosikaa TryParse-menetelmää kaiken sellaisen syötteen kanssa, jota ette hallitse.
Esimerkki muunnoksesta
Tämä kokonainen ohjelma lukee luvun tekstistä, muuntaa sen, suorittaa sillä laskutoimituksia ja muotoilee tulosteen valuutaksi.
string input = "19.95";
if (decimal.TryParse(input, out decimal price))
{
decimal withTax = price * 1.20m;
Console.WriteLine(withTax.ToString("F2"));
}Pikatarkistus
Valitkaa turvallisin tapa muuntaa käyttäjän kirjoittama teksti luvuksi.
Kertaus
Opitte muuntamaan lukuja: käyttämään turvallisia implisiittisiä muunnoksia, eksplisiittisiä castauksia (jotka katkaisevat arvon ja voivat aiheuttaa ylivuodon), Convert-luokkaa (joka pyöristää) sekä jäsentämään tekstiä menetelmillä Parse ja turvallisemmalla TryParse-menetelmällä.
Opitte myös muotoilemaan luvut takaisin merkkijonoiksi ToString-muotoilukoodeilla. Castatkaa toinen operandi tyypiksi double kokonaislukujen jaon välttämiseksi.
Opi C# tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 93
- Oppitunnit
- 346
Usein kysytyt kysymykset
Onko oppitunti ”Lukujen muuntaminen tyypistä toiseen” ilmainen?
Kyllä – oppitunnin ”Lukujen muuntaminen tyypistä toiseen” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko C# Academy-kurssin, päivitä CoddyKit PROhon. C# Academy-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Lukujen muuntaminen tyypistä toiseen”?
Castit ja Convert-metodit. Harjoittelet C# Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni C# Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin C# Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 4/4.
Kuinka kauan ”Lukujen muuntaminen tyypistä toiseen”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä C# Academy-oppitunnilla?
Kyllä. Jokainen C# Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Numeeriset tyypit
- Aritmetiikka ja laskujärjestys
- Math-luokka
- Lukujen muuntaminen tyypistä toiseen