用零填充showHex输出

时间:2018-02-08 12:14:20

标签: haskell

有没有办法用零填充showHex的输出? 例如,我希望showHex 11599274 ""输出00b0fdaa。 我天真的解决方案是:

take (8-l) ['0','0'..] ++ hex 
    where hex = showHex 11599274 ""
          l = length hex

(我知道我可以用printf "%08x" 5

来做

1 个答案:

答案 0 :(得分:2)

没错。如果您在多个地方进行此操作,请将其作为单独的功能。如果需要,可以使用具有left and right justify的Data.Text。但是,这意味着首先将String打包到文本中。