将整数格式化为带前导零的字符串的最佳方法?

新手上路,请多包涵

我需要将前导零添加到整数以生成具有定义数量的数字的字符串($cnt)。将这个简单函数从 PHP 转换为 Python 的最佳方法是什么:

 function add_nulls($int, $cnt=2) {
    $int = intval($int);
    for($i=0; $i<($cnt-strlen($int)); $i++)
        $nulls .= '0';
    return $nulls.$int;
}

有没有可以做到这一点的功能?

原文由 ramusus 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 610
2 个回答

您可以使用 zfill() 方法用零填充字符串:

 In [3]: str(1).zfill(2)
Out[3]: '01'

原文由 unbeknown 发布,翻译遵循 CC BY-SA 2.5 许可协议

标准方法是使用格式字符串修饰符。这些格式化字符串方法在大多数编程语言中都可用(例如通过 c 中的 sprintf 函数)并且是一个需要了解的方便工具。

输出长度为 5 的字符串:


… 在 Python 3.5 及更高版本中:f-strings。

 i = random.randint(0, 99999)
print(f'{i:05d}')

在此处 搜索 f-strings 以获取更多详细信息。


… Python 2.6 及以上版本:

 print '{0:05d}'.format(i)

… 在 Python 2.6 之前:

 print "%05d" % i

请参阅: https ://docs.python.org/3/library/string.html

原文由 user518450 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题