型変換 パート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桁未満であっても、デフォルトでは小数点以下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 to Integer:
string numberText = "123";
int number = stoi(numberText); // 123になるString to 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); // ここでエラーが発生する自分で試してみよう
このレッスンにはコードチャレンジは含まれていません。
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: C++オンラインコンパイラ