ssc*_*eck 5 ruby string format string-formatting
有没有一种简单的方法可以将给定的整数格式化为具有固定长度和前导零的字符串?
# convert numbers to strings of fixed length 3
[1, 12, 123, 1234].map { |e| ??? }
=> ["001", "012", "123", "234"]
Run Code Online (Sandbox Code Playgroud)
我找到了解决方案,但也许有一种更聪明的方法.
format('%03d', e)[-3..-1]
Run Code Online (Sandbox Code Playgroud)
如何使用% 1000而不是进行字符串操作来获取最后三位数?
[1, 12, 123, 1234].map { |e| format('%03d', e % 1000) }
Run Code Online (Sandbox Code Playgroud)
正如Tin Man在评论中所建议的那样,原始版本在可读性方面更好,并且比这个版本慢了1.05倍,因此在大多数情况下使用它可能是有意义的.
| 归档时间: |
|
| 查看次数: |
2427 次 |
| 最近记录: |