Tür Dönüştürme Bölüm 2
Coddy'nin C++ Journey'sinin Temeller bölümünün bir parçası — ders 15 / 74.
C++'da sayıları dizelere ve tam tersine dönüştürebiliriz. Bir değeri dizeye dönüştürmek için std::to_string() fonksiyonunu kullanabiliriz:
int number = 789;
bool isValid = true;
string text1 = to_string(number); // "789" olur
string text2 = isValid ? "true" : "false"; // "true" olurBir double değerini to_string() kullanarak bir string'e dönüştürdüğünüzde, orijinal sayı o kadar ondalık basamağa sahip olmasa bile varsayılan olarak 6 ondalık basamak gösterecektir.
Örneğin:
double n1 = 789.0;
string text1 = to_string(n1);
// "789.000000" olur
double n2 = 789.5;
string text2 = to_string(n2);
// "789.500000" olur
double n3 = 789.123;
string text3 = to_string(n3);
// "789.123000" olurBir string'i farklı bir türe dönüştürmek için birkaç seçeneğimiz var:
String'den Tam Sayıya:
string numberText = "123";
int number = stoi(numberText); // 123 olurString'den Double'a:
string decimalText = "45.67";
double decimal = stod(decimalText); // 45.67 olurNot: Dizeleri sayılara dönüştürürken, bu fonksiyonlar dizenin başından itibaren mümkün olduğunca çok geçerli karakter okur. Yalnızca dize geçersiz bir karakterle başlıyorsa hata fırlatırlar:
string validStart = "42abc";
int number = stoi(validStart); // 42 olur (sondaki harfler yoksayılır)
string invalidStart = "abc";
int number2 = stoi(invalidStart); // Bu bir hata fırlatacaktırKopya kağıdı
Sayıları std::to_string() kullanarak dizelere dönüştürün:
int number = 789;
string text = to_string(number); // "789" olurDouble değerlerini dönüştürmek varsayılan olarak 6 ondalık basamak gösterir:
double n = 789.5;
string text = to_string(n); // "789.500000" olurstoi() kullanarak dizeleri tam sayılara dönüştürün:
string numberText = "123";
int number = stoi(numberText); // 123 olurstod() kullanarak dizeleri double değerlerine dönüştürün:
string decimalText = "45.67";
double decimal = stod(decimalText); // 45.67 olurNot: Geçersiz dizeleri sayılara dönüştürmek bir hata fırlatacaktır.
Kendin dene
Bu ders bir kod alıştırması içermiyor.
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Temeller bölümündeki tüm dersler
4Operatörler Bölüm 1
Aritmetik OperatörlerModül OperatörüArtırma/AzaltmaSonradan Artırma/AzaltmaAritmetik KısayollarKarşılaştırma OperatörleriString Karşılaştırma7Giriş/Çıkış Temelleri
cout İfadesicin İfadesiString GirdisiÖzet - 120'ye KadarÖzet - Doğru veya Yanlış