首页 > 解决方案 > 用零填充十六进制字符串到 6 个字符长度

问题描述

我有这个:

function dec2hex(IN)
  local OUT
  OUT = string.format("%x",IN)
  return OUT
end

并且需要IN将零填充到字符串长度为 6。

我不能使用String.UtilsPadLeft。它位于一个名为 Watchmaker 的应用程序中,该应用程序使用 Lua 的精简版本。

标签: stringluaformattingpadding

解决方案


Lua 中的字符串格式与 C 中的工作方式基本相同。因此,要用零填充数字,只需使用%0nwheren是位置数。例如

print(string.format("%06x", 16^4-1))

将打印00ffff

详见第 20 章“Lua 编程”的字符串库、 的参考和函数string.format的 C 参考。printf


推荐阅读