我正在创建一个 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}}
我确信有一个更优雅的解决方案,但这实现了我想要的。