在Ruby中,格式化整数以填充零很容易:

sprintf( "%010d", 345 ) #=> "0000000345"

但是,当我尝试用零填充字符串时,我找不到简单的解决方案:
sprintf( "%010d", "12AD" ) #=> ArgumentError: invalid value for Integer(): "12AD"
sprintf( "%010s", "12AD" ) #=> "      12AD"

我想获得:
sprintf( "%010s", "12AD" ) #=> "00000012AD"

最佳答案

您可以使用 rjust ljust

>> "12AD".rjust(10, '0')
#=> "00000012AD"

10-07 16:29