我试图比较整数长度的数字长度,并用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’
答案 0 :(得分:1)
stoi将 Const String 作为参数,但在此您将int
传递给它。
使用std::to_string
方法将int
转换为string
,然后比较它们的长度。
答案 1 :(得分:1)
如果您想将您的整数转换为字符串以比较长度,以下是如何基本执行此操作的指南。
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;
}
}