我想在PIC单片机得到保留两位小数的浮点数,下面这样不行?怎么样得到?【恢复】

2020-02-10 08:46发布

float ADToPressure(unsigned int AD)

{

   float pressure=0;

   unsigned int tmp=0;

   

   pressure= (((5*(float)AD)/1023-0.88)*1.2)/3.52;  //压力量程4mA~20mA对应0~1.2MPa   

   tmp= (unsigned int)((pressure+0.005)*100);  //扩大100倍,保留两位小数

   pressure=(float)tmp/100;



   return pressure;



}



上面这个方法在avr单片机里面可以得到干净的小数点后2位有小数字的浮点数,可是在pic单片机得不到,观察后面总是不干净,例如1.20得到的像是1.20001221这样的,怎么得到干净的2位有效浮点数?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。