C++

字符串 转换为

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() 将双精度浮点型值转换为字符串,转换结果中包含十进制小数点, 取四舍五入
This is just a placeholder img.