Menu
CoddyTech

类型转换(第 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);  // 变为 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);  // 这会抛出错误

亲手试试

这节课没有代码挑战。

quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

基础知识中的所有课

自己练习: C++ 在线编译器