|
5110显示,程序中值为0.0014但显示为0.0013
[复制链接]
各位,我在5110上显示6位数据(包括小数点),程序如下
void LCD_Dynamic_Num(unsigned char x,unsigned char y, float n)
{
unsigned char Place_5,Place_4,Place_3,Place_2,Place_1;
unsigned char Place_05,Place_04,Place_03,Place_02,Place_01;
int n_integer; //
float n_add,n_reminder; // n_integer为 int(n_add) n_reminder 小数点后数据
。。。。。
n_add=n;
n_integer=(int)n; //取整数
n_reminder=(n_add - n_integer); //小数点后数据
。。。。。
//当n=0.0014时,显示为0.0013
n_add=n*10000; // 14=0.0014*10000
Place_1= n_add/10000; // 0=14/10000
Place_01=n_add/1000-Place_1*10000/1000; // 0=14/1000-0*10000/1000
Place_02=n_add/100-Place_1*10000/100-Place_01*1000/100; // 0=14/100- 0*10000/100-0*1000/100
Place_03=n_add/10-Place_1*10000/10-Place_01*1000/10-Place_02*100/10; // 1=14/10-0*10000/10-0*1000/10-0*100/10
Place_04=(n_add-Place_1*10000-Place_01*1000-Place_02*100-Place_03*10); // 4=14%10-0*10000%10-0*1000%10-0*100%10-1*10%10
}
程序改了多次,依旧显示0.0013,不知怎么办,大神,多谢了。
|
|