从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 长度要足够容纳数值字符串,避免溢出。

相关推荐
英俊潇洒美少年11 小时前
Vue2/Vue3 vue-i18n完整改造流程(异步懒加载+后端接口请求)
前端·javascript·vue.js
空中海17 小时前
第七章:vue工程化与构建工具
前端·javascript·vue.js
zhensherlock17 小时前
Protocol Launcher 系列:Trello 看板管理的协议自动化
前端·javascript·typescript·node.js·自动化·github·js
zhuà!17 小时前
element的el-form提交校验没反应问题
前端·elementui
龙猫里的小梅啊17 小时前
CSS(一)CSS基础语法与样式引入
前端·css
小码哥_常17 小时前
从0到1,开启Android音视频开发之旅
前端
渔舟小调17 小时前
P19 | 前端加密通信层 pikachuNetwork.js 完整实现
开发语言·前端·javascript
qq_120840937118 小时前
Three.js 工程向:Draw Call 预算治理与渲染批处理实践
前端·javascript
旷世奇才李先生19 小时前
Vue3\+Vite\+Pinia实战:企业级后台管理系统完整实现(附源码)
vue.js
不会聊天真君64720 小时前
JavaScript基础语法(Web前端开发笔记第三期)
前端·javascript·笔记