Ruby zerofill是一个字符串

fgu*_*len 22 ruby printf ruby-1.9.2

在Ruby中编写一个用零填充的整数是很容易的:

sprintf( "%010d", 345 ) #=> "0000000345"
Run Code Online (Sandbox Code Playgroud)

但是当我尝试用零填充String时,我找不到一个简单的解决方案:

sprintf( "%010d", "12AD" ) #=> ArgumentError: invalid value for Integer(): "12AD"
sprintf( "%010s", "12AD" ) #=> "      12AD"
Run Code Online (Sandbox Code Playgroud)

我想获得:

sprintf( "%010s", "12AD" ) #=> "00000012AD"
Run Code Online (Sandbox Code Playgroud)

old*_*god 51

你可以使用rjustljust.

>> "12AD".rjust(10, '0')
#=> "00000012AD"
Run Code Online (Sandbox Code Playgroud)