【问题标题】:How character convert to integer number? [duplicate]字符如何转换为整数? [复制]
【发布时间】:2014-02-22 18:33:57
【问题描述】:

我的代码是这样的:

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

int main() {
   int a;
   cout << "Enter a number" << endl;
   cin >> a;
   string a_str;
   ostringstream temp;
   temp << a;
   a_str = temp.str();

   for(int i = 0; i < a_str.length(); i++) {
      char c = a_str[i]; //How this character convert to integer number
   }

   system("pause");
   return EXIT_SUCCESS;
}

char c如何转换为int? 我需要这个 我需要这个,因为我需要得到最高位

【问题讨论】:

  • 你的意思是你有例如字符'1' 和你想要整数1?检查ASCII table,您可能会弄明白。提示:它涉及减法。
  • Char实际上是一种int(int8或int16);所以你可以像“int v = a_str[i] - '0';”那样进行转换

标签: c++


【解决方案1】:

例如,如果您想将 char '8' 转换为 int 8,这对于 ascii 就足够了

int i = a_str[0] - '0';

【讨论】:

  • 显式为:int i = static_cast&lt;int&gt;(a_str[0]) - 48
【解决方案2】:
const int i = atoi(&c); 

应该也可以

【讨论】:

    【解决方案3】:

    char 已经是一个整数类型。我认为你的意思是以下

    char c = a_str[i] - '0';
    

    【讨论】:

      【解决方案4】:
      atoi(c) for integers
      atof(c) for floats 
      

      搞定

      【讨论】:

        【解决方案5】:

        你也可以自己写: 这适用于普通键(不是箭头键或...)

        #include <iostream>
        

        使用命名空间标准;

        int main () {

        char c;
        cin >> c;
        cout << (int)c << endl;
        

        }

        如果你只有数字,你可以这样做:

        int num = c - '0';
        

        【讨论】:

          猜你喜欢
          • 2019-03-15
          • 2011-03-25
          • 2012-04-30
          • 2020-10-24
          • 2020-06-04
          • 1970-01-01
          • 1970-01-01
          • 2011-12-27
          相关资源
          最近更新 更多