如何将 Int32 转换为带有前导 0x 的字符串(基数 16)?
How to you convert an Int32 into a string (base 16) with a leading 0x?
在 shell 上,我将数字(例如 29360134)转换并格式化为字符串“0x1c00006”:
printf "%#08x" 29360134 # -> 0x1c00006
但是,在 Crystal 中,我使用相同的格式字符串得到了不同的结果:
puts("%#08x" % 29360134).inspect # -> 01c00006
将 Int32 转换为具有前导 0x 的字符串的正确方法是什么?
Crystal 当前未实现 #
标志。您必须像这样自己添加前缀:
puts "0x%08x" % 29360134
查看当前实施
请注意 flags.sharp
.
没有代码路径
在 shell 上,我将数字(例如 29360134)转换并格式化为字符串“0x1c00006”:
printf "%#08x" 29360134 # -> 0x1c00006
但是,在 Crystal 中,我使用相同的格式字符串得到了不同的结果:
puts("%#08x" % 29360134).inspect # -> 01c00006
将 Int32 转换为具有前导 0x 的字符串的正确方法是什么?
Crystal 当前未实现 #
标志。您必须像这样自己添加前缀:
puts "0x%08x" % 29360134
查看当前实施
请注意 flags.sharp
.