std::to_string 可以将各种类型的数字转换为字符串,而 std::stoi 则可以将字符串转换为整数。

std::to_string

  • 函数原型:std::string to_string( T value );

  • 功能:将各种类型的数字转换为对应的字符串。

  • 参数:

    • value:要转换为字符串的数字,可以是整数类型(如intlonglong long等)、浮点数类型(如floatdoublelong double等)等。
  • 返回值:返回一个表示该数字的字符串。

std::stoi

  • 函数原型:int stoi( const std::string& str, size_t* pos = 0, int base = 10 );

  • 功能:将字符串转换为对应的整数。

  • 参数:

    • str:要转换为整数的字符串。
    • pos:可选参数,用于指定转换过程中第一个非数字字符的索引位置(默认为nullptr)。如果提供了该参数,函数会将转换过程中第一个非数字字符的索引存储到该位置。
    • base:可选参数,用于指定数字的进制(默认为10)。可以是2到36之间的任意整数。如果指定的进制不是10,则在转换时将会按照指定进制进行解析。
  • 返回值:返回转换后的整数值。

  • 异常:如果转换失败,会抛出 std::invalid_argument 异常或 std::out_of_range 异常。

#include <iostream>
#include <string>

int main() {
    // 数字转换为字符串
    int number = 42;
    std::string strNumber = std::to_string(number); // 使用 std::to_string 函数将数字转换为字符串
    std::cout << "数字 " << number << " 转换为字符串:" << strNumber << std::endl;

    // 字符串转换为数字
    std::string str = "123";
    int convertedNumber = std::stoi(str); // 使用 std::stoi 函数将字符串转换为整数
    std::cout << "字符串 " << str << " 转换为整数:" << convertedNumber << std::endl;
    

   // 二进制数转换为十进制数
    std::string binaryStr = "1010"; // 二进制字符串
    int decimalNumFromBinary = std::stoi(binaryStr, nullptr, 2);
    //使用 stoi 进行转换
    std::cout << "二进制数 " << binaryStr << " 转换为十进制数:" << decimalNumFromBinary << std::endl;

    return 0;
}

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐