【问题标题】:comparing 2 int lengths C++比较 2 个 int 长度 C++
【发布时间】:2015-08-10 05:46:39
【问题描述】:

我试图在数字长度方面与整数长度进行比较,并用 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’

【问题讨论】:

标签: c++ string std


【解决方案1】:

stoi 将 Const String 作为参数,但在这里您将 int 传递给它。

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

【讨论】:

    【解决方案2】:

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

    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;
        }
    }
    

    【讨论】:

    • 我仍然得到这个错误:错误:'to_string'不是'std'的成员
    • 我认为如果您使用namespace std; 删除或删除std::,它会修复其中一个
    • 碰巧这是你的问题吗? stackoverflow.com/questions/12975341/… 如果您使用的是旧版本的 c++,您将无法使用 to_string
    猜你喜欢
    • 1970-01-01
    • 2018-05-11
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    • 2022-12-10
    • 2021-11-14
    相关资源
    最近更新 更多