在STM32或其它单片机应用时,需要用LCD、OLED显示浮点数,比如带小数的温度值、
电压值。而选用的LCD、OLED自带的显示函数只有显示字符、汉字等函数,没有显示浮点
数的函数。那么我们可以采用以下简单方法来显示。
先定义一个字符串,用于存储结果浮点数,单精度 float型需要7位、双精度型double需要
17位有效字符,要把小数点算上。如下,定义了个10位的字符串组ADC_FLOAT_CHR
char ADC_FLOAT_CHR[10];
使用时直接调用 sprintf(char* p,const char* pattern,...)函数进行格式化,如下:
sprintf(ADC_FLOAT_CHR,"%f",float_val);
这样就将浮点数变量float_val转成了的字符串ADC_FLOAT_CHR,再调用显示函数显示
字符串即可。注意浮点数使用格式符”%f”控制是,默认保留小数点后6 位数字。也可使用
”%m.nf”格式控制,其中m 表示打印的宽度,n 表示小数点后的位数。