首页 > 代码库 > Arduino中数据类型转换 int转换为char 亲测好使,itoa()函数

Arduino中数据类型转换 int转换为char 亲测好使,itoa()函数

         由于博主最近在做一个项目,需要采集不同传感器的数据,包括float型的HCHO,以及int型的PM2.5数据。但是最终向服务器上传的数据都得转换为char型才能发送,这是借鉴了一个github上面的实例实现了在Arduino上部署socket使之与服务器进行交互。


github实例如下:

 https://github.com/washo4evr/Socket.io-v1.x-Library


在本项目中多次使用了数据类型转换,前文提到了float和double类型转换为char,如下:http://blog.csdn.net/qq_25827845/article/details/50717522


这里分享一种int -char的方法:

代码如下:

void setup() {
  // put your setup code here, to run once:

  Serial.begin(9600);

  int number = 12;
  char string[25];

  itoa(number, string, 10);
  Serial.println(string);

 char s[] = "ababababbaabababab////";
  strcat(s, string);
  Serial.println(s);
}

void loop() {
  // put your main code here, to run repeatedly:

}
这是Arduino IDE开发环境中的代码,输入结果将是:
12
ababababbaabababab////12

实现了类型转换,主要使用 stdlib.h 中的  itoa()  函数来实现。在C语言编译环境下,需要导入#include <stdlib.h>库,但是Arduino IDE中不需要进行导入库。


函数itoa()原型

char *itoa(int value,  char *string, int radix);

原型说明:
value欲转换的数据。
string:目标字符串的地址。
radix:转换后的进制数,可以是10进制、16进制等。

功能:把一个整数转换为字符串。





Arduino中数据类型转换 int转换为char 亲测好使,itoa()函数