C++里面自己写的函数(可以转换2-36的函数)
long long convert(string n, long long radix) { long long sum = 0; int index = 0, temp = 0; for (auto it = n.rbegin(); it != n.rend(); it++) { temp = isdigit(*it) ? *it - '0' : *it - 'a' + 10; sum += temp * pow(radix, index++); } return sum; }注意,atoi直接放string类型是不对的,因为atoi里面的参数只能是char *的类型
如果是string类型的话.一定要加一个 .c_str()
/* atoi example */ #include <stdio.h> /* printf, fgets */ #include <stdlib.h> /* atoi */ #include <string> using namespace std; int main () { int i; string a="123"; i = atoi(a.c_str()); printf ("%d",i); return 0; }就是我们常用的
to_string(a) a的类型是int
需要的头文件为string
例子如下:
#include<iostream> #include<string> using namespace std; int main() { int a=123; cout<<to_string(a); }