Menu
Coddy logo textTech

型変換 パート2

CoddyのC++ジャーニー「基礎」セクションの一部 — レッスン 15/74。

C++では、数値を文字列に、またはその逆に変換することができます。値を文字列に変換するには、std::to_string()関数を使用できます:

int number = 789;
bool isValid = true;
string text1 = to_string(number);  // "789" になります
string text2 = isValid ? "true" : "false";  // "true" になります

to_string() を使用して double を文字列に変換すると、元の数値にそれほど多くの小数点以下の桁数がない場合でも、デフォルトで小数点以下6桁まで表示されます。

例えば:

double n1 = 789.0;
string text1 = to_string(n1);
// "789.000000" になります

double n2 = 789.5;
string text2 = to_string(n2);
// "789.500000" になります

double n3 = 789.123;
string text3 = to_string(n3);
// "789.123000" になります

文字列を別の型に変換するには、いくつかの方法があります:

文字列から整数への変換:

string numberText = "123";
int number = stoi(numberText);  // 123になります

String から Double への変換:

string decimalText = "45.67";
double decimal = stod(decimalText);  // 45.67 になります

注意: 文字列を数値に変換する際、これらの関数は文字列の先頭から可能な限り多くの有効な文字を読み取ります。文字列が無効な文字で始まる場合にのみ、エラーをスローします:

string validStart = "42abc";
int number = stoi(validStart);  // 42になります(末尾の文字は無視されます)

string invalidStart = "abc";
int number2 = stoi(invalidStart);  // これはエラーをスローします

チートシート

数値から文字列への変換には std::to_string() を使用します:

int number = 789;
string text = to_string(number);  // "789" になります

double型の変換では、デフォルトで小数点以下6桁が表示されます:

double n = 789.5;
string text = to_string(n);  // "789.500000" になります

文字列から整数への変換には stoi() を使用します:

string numberText = "123";
int number = stoi(numberText);  // 123 になります

文字列からdouble型への変換には stod() を使用します:

string decimalText = "45.67";
double decimal = stod(decimalText);  // 45.67 になります

注意: 無効な文字列を数値に変換しようとすると、エラーがスローされます。

自分で試してみよう

このレッスンにはコードチャレンジは含まれていません。

quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン