类型转换(第 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() 将双精度数转换为字符串时,默认会显示 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); // 变为 123String 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++ 在线编译器