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 123String to Double:
string decimalText = "45.67";
double decimal = stod(decimalText); // torna-se 45.67Nota: 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 erroFolha 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 123Converta strings para doubles usando stod():
string decimalText = "45.67";
double decimal = stod(decimalText); // torna-se 45.67Nota: 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.
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
4Operadores Parte 1
Operadores AritméticosOperador de MóduloIncremento/DecrementoPós-incremento/DecrementoAtalhos AritméticosOperadores de ComparaçãoComparação de Strings7Fundamentos de Entrada/Saída
Comando coutComando cinEntrada de StringRevisão - Até 120Revisão - Verdadeiro ou Falso3Variáveis Parte 2
Declaração de TipoConvenções de NomenclaturaRecapitulação - Inicializar VariáveisType Casting Parte 1Type Casting Parte 26Tomada de Decisão
Estrutura IfIf - ElseEstrutura SwitchOperador CondicionalRecapitulação - If ElseIf - Else Aninhado