通过嵌入在Python中的Excel中的测量诊断信号在lua中进行十六进制转换

问题描述 投票:0回答:1

我有一个返回数字正值的测量信号(诊断信号)。 我需要将 lua 中的十六进制字符串集成到传递给 python 的 Excel 模板中。 我已经尝试过这种类似于其他功能的方式,但它不起作用。

_lua(R"§("string.format("%8X", @measdata:Diag_DTC[1].max($tStep1,$tStep1End))")§")

有人知道我该如何解决它吗? 非常感谢您提前

例如,我尝试了来自数组的多个信号: @measdata:Diag_DTC[1].max($tStep1,$tStep1End) = 10555136 应该得到A10F00

python excel lua hex
1个回答
0
投票

当前代码的问题是无法正确执行数字转换和格式化。

_lua(R"§(string.format("%08X", tonumber(@measdata:Diag_DTC[1].max($tStep1,$tStep1End)) or 0))§")
  • 在您的情况下

    tonumber()
    将测量值转换为数字,格式尚未正确

  • string.format("%08X", ...)
    将数字格式化为大写十六进制字符串,用零填充为 8 个字符

or 0
作为 tonumber() 转换失败时的后备,以防止错误。

提示:下次不要在整个

string.format()
调用中添加引号,因为它们是不必要的并会导致问题。

© www.soinside.com 2019 - 2024. All rights reserved.