使用十六进制开关格式化字字段

使用十六进制开关格式化字字段

我正在创建一个 SDK,并希望使用自动字段进行命令编号,该编号以十六进制完成,并以传统十六进制格式 (0xNN) 显示。我遇到的问题是,当 SEQ 超过 9 时,格式开关不再起作用。

我当前的声明如下。

{ SET m"{SEQ Command \s 1 \* Hex }" }{ m \# "'0x'00" }

我得到的输出如下:
0x07
0x08
0x09
A <-- 格式错误

C


F
0x10 <-- 格式化简历

答案1

我最终使用了条件格式并将十六进制转换移至条件之后:

{QUOTE{IF{SEQ Command \s 1} < 16 "0x0" "0x"}{SEQ Command \c \*Hex  \*MERGEFORMAT}}

我确信有一个更优雅的解决方案,但这实现了我想要的。

相关内容