在arduino中将十六进制字符串转换为十进制

hkh114

我有一个十六进制字符串,例如:“ 0005607947”,想要将其转换为十进制数,我在此站点上对其进行了测试,并将其正确转换为十进制数,答案是:“ 90208583”,但是当我使用此代码时,我得到了错误的值!我的代码在哪里错误或没有任何人可以解决这个问题的新代码?

long int decimal_answer = getDEC("0005607947") ;

long int getDEC(String str110) {
   long int ID = 0 ;
   int len = str110.length() ;
   char buff[len] ;
   int power = 0 ;

   for(int i = 0 ; i <len ; i++) {  buff[i] = str110.charAt(i); }

   for(int i = (len-1) ; i >=0 ; i--) { 
      int num = buff[i] - '0' ;
      ID = ID + num * pow(16 , power) ;
      power = power + 1 ;   
     }
    Serial.println(String(ID , DEC));
  return ID ;
}



// thanks , i also use this but , get error : invalid conversion from 'void*' to  'char**' [-fpermissive]
unsigned int SiZe = sizeof(F_value) ;
char charBuf[SiZe];
F_value.toCharArray(charBuf , SiZe);

long decimal_answer = strtol(charBuf , NULL , 16);
Serial.println(decimal_answer , DEC);
用户5198165

删除所有代码,仅使用标准库中的“ strtol”。

 #include <stdlib.h>
 long strtol (const char *__nptr, char **__endptr, int __base)

供您使用:

long decimal_answer = strtol("0005607947", NULL, 16);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在 C++ 中将十六进制转换为十进制字符串?

Arduino:将十六进制字符串转换为uint64或十进制字符串

将字符串转换为十六进制,十进制和八进制

在Java中将64位无符号int(以十六进制字符串形式)转换为十进制

如何在Java中将字符串中的大十进制数转换为十六进制?

如何将十进制转换为十六进制字符串的十六进制和XOR

Python将十六进制字符串转换为十进制值

将十进制NSString转换为十六进制字符串

Spark:将十六进制字符串转换为十进制

将十六进制字符串转换为十进制整数

如何将很大的十进制字符串转换为十六进制?

使用C将十六进制字符串常量转换为十进制值

从 jq 得到的十六进制字符串无法转换为十进制值

将大的十六进制字符串转换为十进制

如何将十六进制字符串转换为十进制值

将十六进制字符串转换为十进制整数

将C中的十六进制字符串转换为十进制

Python Pandas子集十六进制字符串,转换为十进制

将十六进制字符串转换为无符号十进制值

在 Swift 中将十六进制转换为十进制

如何在python中将字符串转换为数组并将数组中的每个十六进制值转换为十进制?

在javascript中,如何将十进制(带小数点)转换为十六进制字符串

Java通用将字节数组转换为字符串(非十六进制,十进制)

将长十六进制字符串拆分为列值并转换为十进制

C#将十六进制字符串转换为十进制。为什么是负值?

我将如何使用 js 将十进制数转换为十六进制字符串?

在python中将字符串转换为十六进制

在 SCSS 中将十六进制字符串转换为十六进制颜色值

在PHP中将十进制转换为字符串