Grundläggande Typkonvertering
I föregående kapitel lärde vi oss om typomvandling, men det fungerar inte med strängar.
Föreställ dig att du har en sträng som "1234" som representerar ett tal, och du vill utföra matematiska operationer med den. Du kan inte göra det förrän du har ändrat den till en numerisk typ. Det är här typkonvertering blir användbart.
Typkonvertering utförs med specifika Convert-metoder. Vi kommer att fördjupa oss i dessa metoder senare, men för tillfället kan du tänka på dem som instruktioner som talar om för datorn att utföra något specifikt.
För att ändra en string till en int kan du använda metoden Convert.ToInt32(). Så här ser det ut i kod:
main.cs
1Convert.ToInt32(dataToConvert);
Exempel:
main.cs
1Convert.ToInt32("12345");
Denna metod tar emot ett värde, konverterar det till ett heltal om möjligt och returnerar det värdet i heltalsform, vilket vi kan lagra i variabler eller visa direkt:
main.cs
1234567891011121314using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int val = Convert.ToInt32("12345"); Console.WriteLine(val); Console.WriteLine(Convert.ToInt32("67890")); } } }
Observera att strängen måste innehålla ett heltal i korrekt format, vilket innebär att det inte får finnas några extra mellanslag eller symboler i värdet, annars visas ett felmeddelande:
main.cs
123Convert.ToInt32("3.14"); // Error Convert.ToInt32(""); // Error Convert.ToInt32("30,000"); // Error
En annan sak att notera är att alla typer av värden kan skickas in i funktionen Convert så länge de logiskt kan konverteras till en int:
main.cs
1234567891011121314using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int val = Convert.ToInt32(1234.567); Console.WriteLine(val); // The value is rounded to the nearest integer. } } }
För att konvertera en int till string kan vi använda metoden Convert.ToString():
main.cs
1234567891011121314using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int number = 1234567; string text = Convert.ToString(number); Console.WriteLine(text); // Output: 1234567 } } }
Följande är en lista över de vanligast använda Convert-metoderna:
1. Vad är syftet med typkonvertering i programmering, och varför är det nödvändigt när man arbetar med strängar som representerar siffror?
2. Vilken metod skulle du använda för att konvertera en sträng som innehåller ett tal, såsom "1234", till ett heltal i C#?
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
Awesome!
Completion rate improved to 1.59
Grundläggande Typkonvertering
Svep för att visa menyn
I föregående kapitel lärde vi oss om typomvandling, men det fungerar inte med strängar.
Föreställ dig att du har en sträng som "1234" som representerar ett tal, och du vill utföra matematiska operationer med den. Du kan inte göra det förrän du har ändrat den till en numerisk typ. Det är här typkonvertering blir användbart.
Typkonvertering utförs med specifika Convert-metoder. Vi kommer att fördjupa oss i dessa metoder senare, men för tillfället kan du tänka på dem som instruktioner som talar om för datorn att utföra något specifikt.
För att ändra en string till en int kan du använda metoden Convert.ToInt32(). Så här ser det ut i kod:
main.cs
1Convert.ToInt32(dataToConvert);
Exempel:
main.cs
1Convert.ToInt32("12345");
Denna metod tar emot ett värde, konverterar det till ett heltal om möjligt och returnerar det värdet i heltalsform, vilket vi kan lagra i variabler eller visa direkt:
main.cs
1234567891011121314using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int val = Convert.ToInt32("12345"); Console.WriteLine(val); Console.WriteLine(Convert.ToInt32("67890")); } } }
Observera att strängen måste innehålla ett heltal i korrekt format, vilket innebär att det inte får finnas några extra mellanslag eller symboler i värdet, annars visas ett felmeddelande:
main.cs
123Convert.ToInt32("3.14"); // Error Convert.ToInt32(""); // Error Convert.ToInt32("30,000"); // Error
En annan sak att notera är att alla typer av värden kan skickas in i funktionen Convert så länge de logiskt kan konverteras till en int:
main.cs
1234567891011121314using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int val = Convert.ToInt32(1234.567); Console.WriteLine(val); // The value is rounded to the nearest integer. } } }
För att konvertera en int till string kan vi använda metoden Convert.ToString():
main.cs
1234567891011121314using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int number = 1234567; string text = Convert.ToString(number); Console.WriteLine(text); // Output: 1234567 } } }
Följande är en lista över de vanligast använda Convert-metoderna:
1. Vad är syftet med typkonvertering i programmering, och varför är det nödvändigt när man arbetar med strängar som representerar siffror?
2. Vilken metod skulle du använda för att konvertera en sträng som innehåller ett tal, såsom "1234", till ett heltal i C#?
Tack för dina kommentarer!