51单片机编程如何把一个字符串里的数字提取出来并转化成浮点数?

uchar code table[]="abcd12.5";如何把12.5提出来变成浮点数?

你这个字符串的形式是怎么样的?先字母后数字?还是随机的?如果单纯只是字母后就数据的话就直接判断字符的ASCII码,从数字的地方开始截取,把数字和小数点放到另一个数组里,用double atof(const char *nptr)函数转为浮点类型即可,如果你初始给的字符串是随机的那好像麻烦很多。。。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-03-20
这个的话是可以的。
#include<reg51.h>
#define uchar unsigned char
uchar code table[]="abcd12.5";
main()
{
flat a;
uchar i;
a=(float)table[4]*10.0+(float)table[5]+(float)table[7]/10;
while(1);
}

本回答被网友采纳
相似回答