小伙伴注意了,关于OLED和OLCD数字显示的问题!!!

2019-07-20 13:03发布

原子哥的LCD_ShowNum(u16 x,u16 y,u32 num,u8 len,u8 size)函数和LCD_ShowxNum(u16 x,u16 y,u32 num,u8 len,u8 size,u8 mode)函数在理论上是没有问题的。
但是在MDK这编译环境中就出现了一个问题。
因为在C++中num中第一位是0的话就表示是以8进制表示(而不是我们想要的十进制)。


例如:num=011,C++中它表示八进制,换算成十进制为:9;最后LCD/OLED中显示的就是9.  
又例如:num=021,LCD/OLED中显示为17 (17是021这个八进制的十进制表示)
在例如:num=0123456,LCD/OLED中显示为42798(42798是0123456这个八进制的十进制表示)


至于解决的办法,就是自己设计算法来解决了,或者就不要在num中的第一位加0了。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。