使用sprintf格式化浮点数为0.0

2019-12-21 12:11发布

本帖最后由 SUPER_CRJ 于 2018-2-27 16:36 编辑

如下:在STM32F1编程中使用了类似下面的函数:
        char Value[30];
        sprintf( Value,"%3.1lf",19.0);
        格式化后Value里面为0.0。但是之前是OK的,突然有一天不可以了,之前没有解决,查看网上的解决办法,说是8字节对齐,但是看了μc/OS-Ⅲ中的堆栈都是8的整数倍,怀疑是使用了:#para强制对齐造成的结果(项目其它地方使用的!)。现在要如何解决这个问题呢?我当前的方法是:sprintf( Value,"%d.%d",190/10,190%10);请问大家有没有更好的方法?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。