Как конвертировать Char в Float

Как преобразовать значение без знака в число с плавающей запятой или двойное кодирование в AVR studio 4.?

Помогите, пожалуйста, я новичок, мой вопрос тоже может показаться глупым: /

Как будто у меня есть кнопка Char.

и я напечатал его на экране, используя
lcd_gotoxy (0,0);
lcd_puts (keyPressed);

Теперь я хочу использовать это значение для расчета чего-то ..
Как конвертировать его в float или double? пожалуйста помоги

5

Решение

если вы хотите, например, символ «а» как 65.0 в float, то способ сделать это

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

если вы хотите, например, символ ‘9’ как 9.0 в float, то способ сделать это

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

если вы хотите преобразовать массив символов, содержащий число, чтобы плавать здесь, это путь

#include<string>
#include<stdio.h>
#include<stdlib.h>
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 a c way to do it
}

для более подробной информации обратитесь к ссылке: http://en.cppreference.com/w/cpp/string/basic_string/stof
http://www.cplusplus.com/reference/string/stof/

9

Другие решения

Для ввода массива символов вы можете использовать atof.

2

По вопросам рекламы [email protected]