小编Vic*_*orO的帖子

Ruby:如何使用sprintf()在数字字符串的前面添加零

我想将zipcodes标准化为5位数字,用零替换任何丢失的字符,如下所示:

"95616" >> "95616"
"854"  >> "00854"
"062" >> "00062"
"0016" >> "00016"
Run Code Online (Sandbox Code Playgroud)

我一直在使用的sprintf像这样尝试sprintf("%05s", zipcode)和像这样 sprintf("%0.5d", zipcode).两者都给出错误答案.使用s:

"95616" >> "95616"
"854"   >> "  854"
"062"   >> "  062"
"0016"  >> " 0016"
Run Code Online (Sandbox Code Playgroud)

这是正确的字符数,但使用空格而不是零.

使用d:

"95616" >> "95616"
"854"   >> "00854"
"062"   >> "00050"
"0016"  >> "00014"
Run Code Online (Sandbox Code Playgroud)

在这种情况下sprintf()的正确用法是什么?

ruby string

9
推荐指数
3
解决办法
8005
查看次数

标签 统计

ruby ×1

string ×1