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

相关推荐
FRing031 小时前
JavaScript入门到精通三十二(深拷贝、浅拷贝、递归函数)
开发语言·前端·javascript
excel1 小时前
双 Token 与前端使用 Crypto 公私钥鉴权换 Token,哪种方案更好?
前端·后端
外收内放1 小时前
Python基础语法练习题(73)
java·前端·python
风骏时光牛马2 小时前
面向复杂场景的大模型应用落地与能力优化实践
前端
小小善后师2 小时前
我做了个病历归档小程序,被 AI 识别的"最后一公里"狠狠上了一课
前端
H_Lisa2 小时前
我用 Express 写了个 MCP,Claude 直接调用我的 API 了
前端
IT_陈寒2 小时前
React的useEffect依赖数组把我坑惨了
前端·人工智能·后端
兰亭妙微UI设计公司3 小时前
兰亭妙微ui设计公司分享:B端组件命名如何支持团队协作
前端·javascript·vue.js
云和数据.ChenGuang4 小时前
光哥说Python 异常深度解析:从异常模型到工程化实践
java·前端·人工智能·python·langchain
小大宇4 小时前
Vue知识点-ElementPlus-03提示框+询问+通知
前端·javascript·vue.js