完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
开发偶遇问题
在C++或其他高级语言中,以及C语言在Visual Studio或者linux平台上,是可以直接通过sprintf将,int ,float转换成string类型的; 但是,在STM32CubeIDE中,实测, int sprintf ( char * str, const char * format, ... ); 如果直接是float转换成char类型,会提示报错,-u_printf_float类型; 解决方法1 在工程的配置中,设置printf支持float类型 很遗憾,本人实测后,并未解决; 无奈,自己发明了方法二 手动造轮子 网上有很多人在写float转换成sting 的格式,但是,个人觉得,都太复杂,而且,不适用; 这也是C语言的缺点,本人之前一直写C++,因为嵌入式的原因,不得不使用 C语言,但是也真的觉得C语言的开发低效性,很无语。 本人设计的转换函数,两种可以任选,根据自己的需要; //无返回值的函数 void Float2Str(char* str,float value) { int Head = (int)value; int Point = (int)((value - Head)*10.0); sprintf(str, "%d.%d", Head, Point); } 带返回值的,个人觉得这样更加方便,提高代码的简洁性 char *Float2String(float value) { char* str = (char*)malloc(10); int Head = (int)value; int Point = (int)((value - Head)*10.0); sprintf(str, "%d.%d", Head, Point); return str; } 好的,编译通过,happy. |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1777 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1621 浏览 1 评论
1080 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
728 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1678 浏览 2 评论
1938浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
731浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
570浏览 3评论
595浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
554浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 12:41 , Processed in 0.794049 second(s), Total 76, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号