字符串
转换为 数
:
C++ stoi, stol, stod, stof
sscanf(str, "%d", &num)
#include <cstdio>
int main(){
char str[10] = "123";
int num;
sscanf(str, "%d", &num);
printf("The num is %d", num);
return 0;
}
/*output:
* The num is 123
*/
C 字符串
转换为数
: atof atoi atol
\<cstdio> / \<stdlib.h>
int atoi(const char *nptr): 将字符串转化为整型
double atof(const char *nptr): 把字符串转换成浮点数
long atol(const char *nptr): 把字符串转换成长整型数
数
转换为 字符串
:
C++ to_string(num)
\<string>
sprintf(str, "%d", num)
#include <cstdio>
int main(){
char str[10];
int num = 123;
sprintf(str, "%d", num);
printf("The string is %s", str);
return 0;
}
/*output:
* The string is 123
*/
C 整型 to 字符串:itoa, ltoa, ultoa
\<cstdio>
itoa(int value, char *str, int radix) : 把int转换为转换为任意进制的char*符数组
ltoa(long value,char *string,int radix) : 把长整型数转换为任意进制的字符串的函数
ultoa(unsigned long value, char *string, int radix): 把一个无符号长整型数为任意进制的字符串
#include <iostream>
#include <cstdio>
using namespace std;
int main(){
int number=12345;
char string[25];
itoa(number,string,2);//按十进制转换
printf("integer=%dstring=%s\n",number,string);
itoa(number,string,16);//按16进制转换
printf("integer=%dstring=%s\n",number,string);
return 0;
}
/*
Output:
integer=123 string=1111011
integer=123 string=123
integer=123 string=7b
*/
C 浮点型值转换为字符串 ecvt, fcvt, gcvt
ecvt() 将双精度浮点型值转换为字符串,转换结果中不包含十进制小数点
fcvt() 以指定位数为转换精度,余同ecvt()
gcvt() 将双精度浮点型值转换为字符串,转换结果中包含十进制小数点, 取四舍五入