Hướng dẫn python int to string with leading zeros - python int thành chuỗi có số 0 ở đầu

Tôi cần thêm số 0 hàng đầu vào số nguyên để tạo một chuỗi có số lượng chữ số được xác định ($ cnt). Cách tốt nhất để dịch chức năng đơn giản này từ PHP sang Python:

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

Có một chức năng nào có thể làm điều này?

Hướng dẫn python int to string with leading zeros - python int thành chuỗi có số 0 ở đầu

hỏi ngày 9 tháng 4 năm 2009 lúc 9:15Apr 9, 2009 at 9:15

4

Bạn có thể sử dụng phương thức

In [3]: str(1).zfill(2)
Out[3]: '01'
3 để đệm một chuỗi với số không:

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

Đã trả lời ngày 9 tháng 4 năm 2009 lúc 9:23Apr 9, 2009 at 9:23

7

Cách tiêu chuẩn là sử dụng các biến đổi chuỗi định dạng. Các phương thức chuỗi định dạng này có sẵn trong hầu hết các ngôn ngữ lập trình (thông qua chức năng Sprintf trong C chẳng hạn) và là một công cụ tiện dụng để biết.

Để xuất một chuỗi có độ dài 5:


... trong Python 3,5 trở lên: F-String.

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

Tìm kiếm F-String ở đây để biết thêm chi tiết.


... Python 2.6 trở lên:

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

... trước Python 2.6:

print "%05d" % i

Xem: https://docs.python.org/3/l Library/String.html

Hướng dẫn python int to string with leading zeros - python int thành chuỗi có số 0 ở đầu

Zabop

5,8883 Huy hiệu vàng28 Huy hiệu bạc66 Huy hiệu Đồng3 gold badges28 silver badges66 bronze badges

Đã trả lời ngày 17 tháng 12 năm 2012 lúc 18:10Dec 17, 2012 at 18:10

user518450user518450user518450

2.7181 Huy hiệu vàng16 Huy hiệu bạc7 Huy hiệu đồng1 gold badge16 silver badges7 bronze badges

5

Python 3.6 F-Strings cho phép chúng tôi thêm số không hàng đầu một cách dễ dàng:

number = 5
print(f' now we have leading zeros in {number:02d}')

Hãy xem bài viết tốt này về tính năng này.

Đã trả lời ngày 2 tháng 3 năm 2017 lúc 17:39Mar 2, 2017 at 17:39

SergioaraujosergioaraujoSergioAraujo

10,4K3 Huy hiệu vàng48 Huy hiệu bạc38 Huy hiệu đồng3 gold badges48 silver badges38 bronze badges

2

Bạn rất có thể chỉ cần định dạng số nguyên của mình:

'%0*d' % (fill, your_int)

Ví dụ,

>>> '%0*d' % (3, 4)
'004'

Hướng dẫn python int to string with leading zeros - python int thành chuỗi có số 0 ở đầu

Đã trả lời ngày 9 tháng 4 năm 2009 lúc 9:16Apr 9, 2009 at 9:16

SilentghostsilentghostSilentGhost

295K64 Huy hiệu vàng301 Huy hiệu bạc291 Huy hiệu Đồng64 gold badges301 silver badges291 bronze badges

3

Python 2.6 cho phép điều này:

add_nulls = lambda number, zero_count : "{0:0{1}d}".format(number, zero_count)

>>>add_nulls(2,3)
'002'

Đã trả lời ngày 9 tháng 4 năm 2009 lúc 9:59Apr 9, 2009 at 9:59

Clorzclorzclorz

1.0832 Huy hiệu vàng14 Huy hiệu bạc29 Huy hiệu đồng2 gold badges14 silver badges29 bronze badges

Đối với Python 3 và hơn thế nữa: str.zfill () vẫn là lựa chọn dễ đọc nhất

Nhưng đó là một ý tưởng tốt để xem xét str.format () mới và mạnh mẽ, nếu bạn muốn đệm một cái gì đó không phải là 0 thì sao?

    # if we want to pad 22 with zeros in front, to be 5 digits in length:
    str_output = '{:0>5}'.format(22)
    print(str_output)
    # >>> 00022
    # {:0>5} meaning: ":0" means: pad with 0, ">" means move 22 to right most, "5" means the total length is 5

    # another example for comparision
    str_output = '{:#<4}'.format(11)
    print(str_output)
    # >>> 11##

    # to put it in a less hard-coded format:
    int_inputArg = 22
    int_desiredLength = 5
    str_output = '{str_0:0>{str_1}}'.format(str_0=int_inputArg, str_1=int_desiredLength)
    print(str_output)
    # >>> 00022

Đã trả lời ngày 11 tháng 4 năm 2016 lúc 20:30Apr 11, 2016 at 20:30

Hướng dẫn python int to string with leading zeros - python int thành chuỗi có số 0 ở đầu

Bạn có ít nhất hai tùy chọn:

  • str.zfill:
    In [3]: str(1).zfill(2)
    Out[3]: '01'
    
    4
  • In [3]: str(1).zfill(2)
    Out[3]: '01'
    
    5 Định dạng:
    In [3]: str(1).zfill(2)
    Out[3]: '01'
    
    6

Nếu trên Python> 2.5, hãy xem tùy chọn thứ ba trong câu trả lời của Clorz.

Đã trả lời ngày 9 tháng 4 năm 2009 lúc 11:36Apr 9, 2009 at 11:36

Tzottzottzot

89.5K29 Huy hiệu vàng138 Huy hiệu bạc201 Huy hiệu đồng29 gold badges138 silver badges201 bronze badges

Một lần thay thế cho In [3]: str(1).zfill(2) Out[3]: '01' 7 tích hợp.

Chức năng này mất

In [3]: str(1).zfill(2)
Out[3]: '01'
8 và chuyển đổi nó thành một chuỗi và chỉ thêm số không ngay từ đầu và chỉ khi độ dài quá ngắn:

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

Tóm lại - tích hợp:

In [3]: str(1).zfill(2)
Out[3]: '01'
7 là đủ tốt, nhưng nếu ai đó tò mò về cách thực hiện điều này bằng tay, thì đây là một ví dụ nữa.

Đã trả lời ngày 23 tháng 8 năm 2012 lúc 18:42Aug 23, 2012 at 18:42

Một chuyển đổi đơn giản sẽ là (một lần nữa với một hàm):

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

Đã trả lời ngày 9 tháng 4 năm 2009 lúc 9:40Apr 9, 2009 at 9:40

Hướng dẫn python int to string with leading zeros - python int thành chuỗi có số 0 ở đầu

rprrprrpr

3.6682 Huy hiệu vàng21 Huy hiệu bạc20 Huy hiệu Đồng2 gold badges21 silver badges20 bronze badges

Đây là chức năng Python của tôi:

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

Hướng dẫn python int to string with leading zeros - python int thành chuỗi có số 0 ở đầu

Đã trả lời ngày 9 tháng 4 năm 2009 lúc 9:36Apr 9, 2009 at 9:36

Emre Köseemre KöseEmre Köse

6545 Huy hiệu bạc12 Huy hiệu Đồng5 silver badges12 bronze badges

2

Làm thế nào để bạn chuyển đổi số nguyên thành chuỗi với các số không hàng đầu?

Để đệm một số nguyên với các số 0 dẫn đến một độ dài cụ thể để hiển thị số nguyên dưới dạng giá trị thập phân, hãy gọi phương thức TOSTRING (Chuỗi) của nó và chuyển chuỗi "DN" làm giá trị của tham số định dạng, trong đó n đại diện cho độ dài tối thiểu củachuỗi.call its ToString(String) method, and pass the string "Dn" as the value of the format parameter, where n represents the minimum length of the string.

Làm thế nào để bạn thêm một số 0 hàng đầu vào một chuỗi trong Python?

Để thêm số không hàng đầu vào một số:..
Sử dụng lớp str () để chuyển đổi số thành chuỗi ..
Sử dụng str.Phương thức Zfill () để thêm các số không dẫn đầu vào chuỗi ..
Phương pháp lấy chiều rộng của chuỗi và đệm nó bằng các số không hàng đầu ..

Làm cách nào để chuyển đổi INT thành một chuỗi trong Python?

Để chuyển đổi một số nguyên thành chuỗi trong python, hãy sử dụng hàm str ().Hàm này lấy bất kỳ kiểu dữ liệu nào và chuyển đổi nó thành một chuỗi, bao gồm cả số nguyên.Sử dụng cú pháp in (str (int)) để trả về int dưới dạng str hoặc chuỗi.use the str() function. This function takes any data type and converts it into a string, including integers. Use the syntax print(str(INT)) to return the int as a str , or string.

%D và %s trong Python là gì?

%s hoạt động một trình giữ chỗ cho một chuỗi trong khi %D hoạt động như một trình giữ chỗ cho một số.Các giá trị liên quan của chúng được truyền qua thông qua một tuple bằng toán tử %.. Their associated values are passed in via a tuple using the % operator.