Menu
Coddy logo textTech

Konwersja typów, część 2

Część sekcji Podstawy ścieżki C++ w Coddy. Lekcja 15 z 74.

W C++ możemy konwertować liczby na ciągi znaków i odwrotnie. Aby przekonwertować wartość na ciąg znaków, możemy użyć funkcji std::to_string():

int number = 789;
bool isValid = true;
string text1 = to_string(number);  // staje się "789"
string text2 = isValid ? "true" : "false";  // staje się "true"

Gdy konwertujesz liczbę typu double na ciąg znaków za pomocą to_string(), domyślnie wyświetli on 6 miejsc po przecinku, nawet jeśli pierwotna liczba nie ma ich aż tylu.

Na przykład:

double n1 = 789.0;
string text1 = to_string(n1);
// staje się "789.000000"

double n2 = 789.5;
string text2 = to_string(n2);
// staje się "789.500000"

double n3 = 789.123;
string text3 = to_string(n3);
// staje się "789.123000"

Aby przekonwertować ciąg znaków na inny typ, mamy kilka opcji:

String to Integer:

string numberText = "123";
int number = stoi(numberText);  // staje się 123

String to Double:

string decimalText = "45.67";
double decimal = stod(decimalText);  // przyjmuje wartość 45.67

Uwaga: Podczas konwertowania ciągów znaków na liczby te funkcje odczytują jak najwięcej prawidłowych znaków od początku ciągu. Zgłaszają błąd tylko wtedy, gdy ciąg zaczyna się od nieprawidłowego znaku:

string validStart = "42abc";
int number = stoi(validStart);  // przyjmuje wartość 42 (litery na końcu są ignorowane)

string invalidStart = "abc";
int number2 = stoi(invalidStart);  // To spowoduje zgłoszenie błędu

Spróbuj swoich sił

Ta lekcja nie zawiera wyzwania z kodem.

quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Kompilator C++ online