Arduino关于长整形数据转换成String类型

Arduino关于长整形数据转换成String类型


  • 今天在项目开发中就遇到一个问题,需要将一个长长整形数据转换成String类型的数据。

uint8_t / uint16_t / uint32_t /uint64_t

前面3个类型还好说,容易实现,遇到了uint64_t,转换就出了问题。

  • String类数据是处理的起来是最灵活的,可是遇到uint64_t,一般的方法还不凑效。

解决办法

  • 先定义一个char类型的数组来接收uint64_t,再将char数组直接赋值给String类型的变量。具体操作如下:
String str="size:";
 uint64_t cardSize = SD.cardSize() / (1024 * 1024);
 char buff[10];//长度根据需求自己定义。
 char buff2[10];
 sprintf_P(buff, PSTR(" %llu"),cardSize);
 sprintf(buff2," %llu", SDsize);
 str += buff;
 
  • sprintf_P也就是sprintf变种的作用相同,是将一个格式化的字符串输出到一个目标字符串中,而printf是将一个格式化的字符串输出到屏幕。

  今日的努力, 是为了不再重复痛苦的过去。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值