Menu
Coddy logo textTech

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" olur

Bir 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" olur

Bir 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 olur

String'den Double'a:

string decimalText = "45.67";
double decimal = stod(decimalText);  // 45.67 olur

Not: 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ır

Kopya kağıdı

Sayıları std::to_string() kullanarak dizelere dönüştürün:

int number = 789;
string text = to_string(number);  // "789" olur

Double 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" olur

stoi() kullanarak dizeleri tam sayılara dönüştürün:

string numberText = "123";
int number = stoi(numberText);  // 123 olur

stod() kullanarak dizeleri double değerlerine dönüştürün:

string decimalText = "45.67";
double decimal = stod(decimalText);  // 45.67 olur

Not: 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.

quiz iconKendini test et

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