Menu
Coddy logo textTech

Type Casting Parte 2

Parte da seção Fundamentos do Journey de C++ da Coddy — lição 15 de 74.

Em C++, podemos converter números para strings e vice-versa. Para converter um valor para string, podemos usar a função std::to_string():

int number = 789;
bool isValid = true;
string text1 = to_string(number);  // torna-se "789"
string text2 = isValid ? "true" : "false";  // torna-se "true"

Quando você converte um double para uma string usando to_string(), ele mostrará por padrão 6 casas decimais, mesmo que o número original não tenha tantas casas decimais.

Por exemplo:

double n1 = 789.0;
string text1 = to_string(n1);
// torna-se "789.000000"

double n2 = 789.5;
string text2 = to_string(n2);
// torna-se "789.500000"

double n3 = 789.123;
string text3 = to_string(n3);
// torna-se "789.123000"

Para converter uma string para um tipo diferente, temos várias opções:

String para Inteiro:

string numberText = "123";
int number = stoi(numberText);  // torna-se 123

String to Double:

string decimalText = "45.67";
double decimal = stod(decimalText);  // torna-se 45.67

Nota: Ao converter strings em números, essas funções leem o máximo possível de caracteres válidos a partir do início da string. Elas só lançam um erro se a string começar com um caractere inválido:

string validStart = "42abc";
int number = stoi(validStart);  // torna-se 42 (letras finais ignoradas)

string invalidStart = "abc";
int number2 = stoi(invalidStart);  // Isso lançará um erro

Folha de consulta

Converta números para strings usando std::to_string():

int number = 789;
string text = to_string(number);  // torna-se "789"

A conversão de doubles mostra 6 casas decimais por padrão:

double n = 789.5;
string text = to_string(n);  // torna-se "789.500000"

Converta strings para inteiros usando stoi():

string numberText = "123";
int number = stoi(numberText);  // torna-se 123

Converta strings para doubles usando stod():

string decimalText = "45.67";
double decimal = stod(decimalText);  // torna-se 45.67

Nota: Converter strings inválidas para números lançará um erro.

Experimente você mesmo

Esta lição não inclui um desafio de código.

quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentos