Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 比较2个整数长度C++;_C++_String_Std - Fatal编程技术网

C++ 比较2个整数长度C++;

C++ 比较2个整数长度C++;,c++,string,std,C++,String,Std,我试图在数字长度方面与整数长度进行比较,并用0填充最小的长度,使它们的大小相同,即: 6 and 1500 变成 0006 and 1500 我无法让std::stoi工作,然后检查每个数字的长度 #include <iostream> #include <vector> #include <string> using namespace std; int schoolMethod(int a, int b, int base){ if(std::s

我试图在数字长度方面与整数长度进行比较,并用0填充最小的长度,使它们的大小相同,即:

6 and 1500 
变成

0006 and 1500
我无法让std::stoi工作,然后检查每个数字的长度

#include <iostream>
#include <vector>
#include <string>
using namespace std;

int schoolMethod(int a, int b, int base){

if(std::stoi(a)<std::stoi(b)){
  //do stuff  
  return 0;
  }
}


karatsuba.cpp: In function ‘int schoolMethod(int, int, int)’:
karatsuba.cpp:50: error: ‘stoi’ is not a member of ‘std’
#包括
#包括
#包括
使用名称空间std;
intschoolMethod(inta、intb、intbase){

if(std::stoi(a)stoi将Const String作为参数,但这里您将
int
传递给它


使用
std::to_string
方法将
int
转换为
string
,然后比较它们的长度。

如果您想将int转换为字符串以比较长度,以下是基本操作指南

std::to_string()
将把整数转换成字符串,这样您就可以比较它们了

string.length()
然后将返回字符串的长度

#include <string>

int schoolMethod(int a, int b, int base){
    std::string stringa = std::to_string(a); //convert to string
    std::string stringb = std::to_string(b); //convert to string
    if(stringa.length()<stringb.length()){ //compare string lengths
      //do stuff  
      return 0;
    }
}
#包括
intschoolMethod(inta、intb、intbase){
std::string stringa=std::to_string(a);//转换为string
std::string stringb=std::to_string(b);//转换为字符串

if(stringa.length()您知道将字符串转换为
int
,而不是相反,对吗?可能的重复也可能有帮助:我仍然会遇到此错误:错误:“to_string”不是“std”的成员。我认为如果您使用
名称空间std;
或删除
std::
它将修复,一个或另一个是偶然的,这是您的问题吗?如果您是重新使用C++的旧版本,不能使用TooSype字符串