c++数字转字符详解

发布时间:2023-05-18

一、c 数字转字符串打印

c语言中数字转字符的一种最基本的方式就是使用printf打印函数,通过占位符输出数字,将数字自动转换为对应的字符。例如:

#include<iostream>
using namespace std;
int main() {
  int num = 123;
  printf("%d\n", num);
  return 0;
}

输出结果为:

123

二、c 数字转字符串不足两位补0

在某些场景下,需要将数字转换为两位字符,不足两位的数字需要补0。这时可以使用sprintf函数,其中第一个参数是字符数组,第二个参数是格式化字符串,第三个参数是需要转换的数字。例如:

#include<iostream>
#include<stdio.h>
using namespace std;
int main() {
  int num = 3;
  char str[3];
  sprintf(str, "%02d", num);
  printf("%s\n", str);
  return 0;
}

输出结果为:

03

三、c数字转字符串输出的函数

c标准库中的itoa函数可以实现数字转字符串的功能。其中第一个参数是需要转换的数字,第二个参数是存储转换结果的字符数组,第三个参数是进制。例如:

#include<iostream>
#include<stdlib.h>
using namespace std;
int main() {
  int num = 123;
  char str[8];
  itoa(num, str, 10);
  cout << str << endl;
  return 0;
}

输出结果为:

123

四、c数字转字符串函数

c++中string库提供了to_string函数可以实现数字转字符串的功能。例如:

#include<iostream>
#include<string>
using namespace std;
int main() {
  int num = 123;
  string str = to_string(num);
  cout << str << endl;
  return 0;
}

输出结果为:

123

五、c数字转字符串 补0

c++11中提供了一个std::setfill函数和std::setw,可以通过setfill设置填充的字符,setw设置保留的位数。例如:

#include<iostream>
#include<iomanip>
using namespace std;
int main() {
  int num = 3;
  cout << std::setfill('0') << std::setw(2) << num << endl;
  return 0;
}

输出结果为:

03

六、c数字转字符串代码

c++中数字转字符串的完整代码:

#include<iostream>
#include<iomanip>
#include<stdlib.h>
#include<stdio.h>
#include<string>
using namespace std;
int main() {
  int num = 123;
  char str[8];
  // 方法1: printf
  printf("%d\n", num);
  // 方法2: sprintf, 补0
  sprintf(str, "%02d", num);
  printf("%s\n", str);
  // 方法3: itoa (需要头文件stdlib.h), 10进制
  itoa(num, str, 10);
  cout << str << endl;
  // 方法4: to_string, c++11
  string str2 = to_string(num);
  cout << str2 << endl;
  // 方法5: 补0, c++11
  cout << std::setfill('0') << std::setw(2) << num << endl;
  return 0;
}

七、数字转字符c

c语言中char类型是1个字节,可以用来存储字符,但是实际上char类型也可以表示数字。例如:

#include<iostream>
using namespace std;
int main() {
  char c = '3';
  int num = c - '0';
  cout << num << endl;
  return 0;
}

输出结果为:

3

八、sas数字转字符

SAS语言中也有数字转字符的功能,它的函数名是put。例如:

data test;
  num = 123;
  str = put(num, 3.);
  put str;
run;

输出结果为:

123

参考资料:

  1. cplusplus.com: sprintf
  2. cppreference.com: to_string
  3. cplusplus.com: to_string
  4. cplusplus.com: std::setw
  5. cplusplus.com: std::setfill
  6. SAS Help Center: SAS函数