1. 程式人生 > 其它 >c++:stoi()和to_string()函式

c++:stoi()和to_string()函式

技術標籤:C++c++

包含在標頭檔案#include<string>

1.stoi函式

  • 作用:

    將 n 進位制的字串轉化為十進位制

  • 用法

    stoi(字串,起始位置,n進位制(預設10進位制)),將 n 進位制的字串轉化為十進位制

  • 舉例:

    stoi(str, 0, 2); //將字串 str 從 0 位置之後的數字的 2 進位制數,轉換為十進位制在這裡插入圖片描述

  • 注意:

    stoi()函式如果傳入的字串s中含有不是數字的字元,則只會識別到從開頭到第一個非法字元之 前,如果第一個字元就是非法字元則會報錯

#include<iostream>
#include<string>
using namespace std;
int main() {
 string str = "1200";
 int a = stoi(str);//預設是10進位制的,將 10 進位制的字串1200轉化為十進位制數值
  int b = stoi(str, 0,8);//8進位制的1200轉換成10進位制
 cout <<"a(10進位制的字串1200轉化為十進位制數值):\n" <<a << endl;

 cout <<"b(8進位制的1200轉換成10進位制):\n" <<b << endl;
 return 0;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 執行結果:

在這裡插入圖片描述

2.to_string()函式

  • 包含在標頭檔案#include<string>

  • 函式原型:

    string to_string (int val);
    string to_string (long val);
    string to_string (long long val);
    string to_string (unsigned val);
    string to_string (unsigned long val);
    string to_string (unsigned long long val);
    string to_string (float val);

    string to_string (double val);
    string to_string (long double val);

  • 功能:

    將數值轉化為字串。返回對應的字串。

#include <iostream>   
#include <string>     
using namespace std;
int main()
{
 string pi = "pi is " + std::to_string(3.1415926);
 float pf = 42430.23;
 string float_str = to_string(pf) + " is a number";
 cout << pi << '\n';
 cout << float_str << '\n';
 system("pause");
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 輸出:

在這裡插入圖片描述