从LVGL标签读取数据转为变量

bash 复制代码
label 显示的文本格式是 %.4fmm,例如 12.3456mm。
目标是从文本中提取出 12.3456 并转为 double 类型。
c 复制代码
		lv_label_set_text(guider_ui.screen_1_label_1, position_mm_buffer);
		就可以更新了
		lv_obj_invalidate(guider_ui.screen_1_label_1);更新后重绘

		char View_VUE[32]; //更新显示
		snprintf(View_VUE, sizeof(View_VUE), "%.4fmm", circleVUE_Min_extreme);
		if (lv_scr_act() == guider_ui.screen_1)
		{ // 检查当前活动屏幕是否为屏幕1
		if (lv_obj_is_valid(guider_ui.screen_1_label_6)) 
		{
		lv_label_set_text(guider_ui.screen_1_label_6, View_VUE);
			lv_obj_invalidate(guider_ui.screen_1_label_6);
		}
		}		
c 复制代码
// 获取 label 文本
const char *text = lv_label_get_text(guider_ui.screen_1_label_6);

// 提取数值部分(去掉 单位"mm")
char value_str[32];
sscanf(text, "%[^m]", value_str);

// 转为 double
double value = atof(value_str);

确保 label 文本格式固定:如果格式变化(例如单位位置不同),需要调整字符串处理逻辑。

错误处理:如果 label 文本为空或格式错误,atof() 会返回 0,需要额外检查。

内存安全:value_str 长度要足够容纳数值字符串,避免溢出。

相关推荐
小徐_23335 分钟前
uni-app 项目别再从零搭了!3 个 Wot UI 起手模板怎么选?
前端·uni-app
张元清24 分钟前
React useResizeObserver Hook:追踪元素尺寸变化(2026)
javascript·react.js
赵庆明老师1 小时前
Vben精讲:16-熟悉Vite前端工具链
前端
瑞瑞小同学3 小时前
处理echarts x轴内容过多,重叠问题
前端·javascript·echarts
HexCIer3 小时前
面向未来的原子化 CSS:UnoCSS 核心架构分析与 Tailwind CSS 现状
前端·css·vite
程序员黑豆4 小时前
鸿蒙应用开发中的单位详解:px、vp、fp、lpx
前端·harmonyos
像我这样帅的人丶你还4 小时前
MCP + npm:给五年前的老系统接上AI
前端·javascript·agent
南一Nanyi4 小时前
依赖注入和控制反转
前端·设计模式·nestjs
小村儿4 小时前
连载14-实战篇--一个半月,我一个人和 Claude Code 搭出一套数字人工程
前端·后端·ai编程
愚公移码4 小时前
蓝凌EKP18产品:流程虚拟机(PVM)
java·开发语言·前端