如何将Char转换为Float

如何在AVR studio 4的编码中将unsigned char值转换为float或double。

请帮助我是初学者,我的问题也可能听起来很愚蠢:/

就像我有一个char keyPressed

我用lcd_gotoxy(0,0)将它打印在屏幕上; lcd_puts(keyPressed);

现在我想用这个值来计算一些东西..如何将其转换为float或double? 请帮忙

如果你想在浮点数中将字符’a’作为65.0,那么这样做的方法是

 unsigned char c='a'; float f=(float)(c);//by explicit casting float fc=c;//compiler implicitly convert char into float. 

如果你想在浮点数中将字符“9”设置为9.0,那么这样做的方法就是

 unsigned char c='9'; float f=(float)(c-'0');//by explicit casting float fc=c-'0';//compiler implicitly convert char into float. 

如果你想将包含数字的字符数组转换为浮动,这就是方法

 #include #include #include void fun(){ unsigned char* fc="34.45"; //c++ way std::string fs(fc); float f=std::stof(fs);//this is much better way to do it //c way float fr=atof(fc); //this is ac way to do it } 

有关更多信息,请参阅链接: http : //en.cppreference.com/w/cpp/string/basic_string/stof http://www.cplusplus.com/reference/string/stof/

对于字符数组输入,您可以使用atof