Một số nguyên có thể được lưu trữ bằng các kiểu dữ liệu khác nhau. Ví dụ: hai kiểu dữ liệu Python có thể có để biểu diễn số nguyên là như sau.

  1. Số nguyên
  2. Sợi dây

Hãy biểu diễn một số nguyên bằng cách sử dụng một chuỗi ký tự. Xem đoạn mã sau.

# app.py

v1 = "1"
v2 = "11"

print('The value of v1 is: ', v1)
print('The data type of v1 is:', type(v1))
print('The value of v2 is: ', v2)
print('The value of v2 is: ', type(v2))

Đầu ra

python3 app.py
The value of v1 is:  1
The data type of v1 is: <class 'str'>
The value of v2 is:  11
The value of v2 is:  <class 'str'>

Trình thông dịch Python hiểu rằng bạn muốn lưu trữ các số nguyên 1 và 11 dưới dạng chuỗi.

Python str () là một hàm sẵn có tiêu chuẩn để chuyển đổi số nguyên thành giá trị chuỗi.

Bạn gọi nó với Chuỗi chứa số làm đối số và nó trả về số được chuyển đổi thành số nguyên.

Chuỗi Python sang Int

Đến đổi Python sợi dây đến intsử dụng int () hàm số. Các int () là một chức năng được tích hợp sẵn chấp nhận các ban đầu sợi dây và cơ sở tùy chọn đại diện cho dữ liệu dưới dạng đối số và trả về một số nguyên.

str = "1921"
print(type(str))
print("After converting Python String to Integer")
integer = int(str)
print(integer)
print(type(integer))

Đầu ra

<class 'str'>
After converting Python String to Integer
1921
<class 'int'>

Bạn có thể thấy từ đầu ra rằng chúng tôi đã chuyển đổi thành công một chuỗi thành một số nguyên trong Python.

Hãy xem cách chuyển đổi trở lại Chuỗi từ số nguyên.

Để lưu trữ một giá trị số nguyên dưới dạng int trong Python, hãy gán một số cho bất kỳ biến nào và nó sẽ trở thành một kiểu dữ liệu số nguyên. Tất nhiên, bạn cũng có thể sử dụng chuỗi ký tự để lưu trữ một số nguyên.

Nếu bạn xác định k = 10, Python hiểu rằng bạn muốn lưu trữ số nguyên 10 dưới dạng một chuỗi.

Mặc dù có nhiều hệ thống số khác, chẳng hạn như nhị phânhệ thập lục phânsử dụng các cơ sở khác nhau để biểu diễn một số nguyên.

Ví dụ: bạn có thể đại diện cho số một trăm mười (110) trong hệ nhị phân và thập lục phân tương ứng là 1101110 và 6e.

Python các kiểu dữ liệu số khác nhau

  1. int (số nguyên có dấu) – Chúng thường được gọi chỉ là số nguyên hoặc số nguyên, là số nguyên dương hoặc âm không có dấu thập phân.

  2. long (số nguyên dài) – Còn được gọi là long, chúng là các số nguyên có kích thước không giới hạn, được viết giống như số nguyên và theo sau là chữ L viết hoa hoặc viết thường.
  3. float (giá trị thực dấu phẩy động) – Còn gọi là số nổi, biểu diễn số thực và được viết với dấu thập phân chia phần nguyên và phần phân số. Dấu nổi cũng có thể ở dạng ký hiệu khoa học, với E hoặc e biểu thị lũy thừa của 10 (2,5e2 = 2,5 x 102 = 250).
  4. phức tạp (số phức) – có dạng a + bJ, trong đó a và b là số thực và J (hoặc j) đại diện cho căn bậc hai của -1 (là một số ảo). Phần thực của số là a và phần ảo là b. Số phức không được sử dụng nhiều trong lập trình Python.

Chuyển đổi chuỗi Python thành Int với các cơ sở khác nhau

Bạn phải ghi nhớ nhiều yếu tố và cơ sở khi chuyển đổi từ định dạng này sang định dạng khác. Ví dụ: nếu bạn có số nguyên thập phân được biểu diễn dưới dạng một chuỗi và cần chuyển đổi chuỗi Python thành intbạn chuyển Chuỗi đến phương thức int ()trả về một số nguyên thập phân.

Nếu bạn đang tìm kiếm giải pháp để chuyển đổi chuỗi Python thành int và int thành chuỗi, bạn sẽ tìm thấy câu trả lời của mình trong bài đăng này.

Đến cuối hướng dẫn này, bạn sẽ hiểu:

  1. Làm thế nào để chuyển đổi chuỗi Python thành int.
  2. Cách phân tích cú pháp Python str thành int trong một cơ sở khác.
  3. Làm thế nào để chuyển đổi Python str thành int bằng dấu phẩy.

Python định nghĩa các hàm chuyển đổi kiểu để chuyển đổi kiểu dữ liệu này sang kiểu dữ liệu khác, hữu ích trong lập trình hàng ngày và cạnh tranh.

Chúng ta có thể sử dụng hàm type để lấy kiểu dữ liệu của bất kỳ biến nào.

Xem ví dụ sau.

# app.py

amp = '123'
print(type(amp))

eli = 'The Computer Guy'
print(type(eli))

num = 1234
print(type(num))

ser = [1, 2, 4]
print(type(ser))

dict = {1: 'Android', 2: 'iOS', 3: 'Symbian'}
print(type(dict))

Chúng tôi đã lấy các loại biến khác nhau và in chúng trên Bảng điều khiển Python. Xem kết quả sau.

Giống như str () có sẵn, Python cũng cung cấp một tích hợp tiện dụng, lấy một đối tượng String làm đối số và trả về đối tượng số nguyên tương ứng.

Nếu bạn muốn chuyển đổi số được biểu thị trong một chuỗi thành int, bạn phải sử dụng int () hàm số. Xem ví dụ sau.

# app.py

amp = '123'
print(type(amp))

convertedInt = int(amp)
print(type(convertedInt))
print(convertedInt)

Xem kết quả bên dưới.

Làm thế nào để chuyển đổi chuỗi Python thành Int và Int thành chuỗi

Chúng tôi đã chuyển đổi Chuỗi thành Số nguyên trong Python.

Số nguyên là số nguyên. Nói cách khác, chúng không có thành phần phân số. Bạn có thể sử dụng hai kiểu dữ liệu để lưu trữ một số nguyên trong Python: int và str.

Những kiểu này cung cấp sự linh hoạt để làm việc với các số nguyên trong các trường hợp khác nhau.

Trong hướng dẫn này, bạn sẽ học cách chuyển đổi một chuỗi Python thành một int. Bạn cũng sẽ học cách chuyển đổi một số nguyên thành một chuỗi ký tự.

Vì vậy, điều này giống như chuỗi python thành int.

#app.py

eleven = "11"
print(eleven)
# Converting string to number
millie = int(eleven)
print(millie)

Xem kết quả đầu ra.

➜  pyt python3 app.py
11
11
➜  pyt

Chuyển đổi str thành int từ các cơ sở khác nhau

Chuỗi có thể được chuyển đổi thành số bằng cách sử dụng int() và trôi nổi() các phương pháp. Nếu Chuỗi của bạn không có chữ số thập phân, bạn có thể sẽ muốn đổi nó cho một số nguyên sử dụng int() phương pháp.

Nếu Chuỗi bạn muốn chuyển đổi thành int thuộc một cơ số số khác với cơ số 10, bạn có thể chỉ định cơ sở đó cho chuyển đổi đó.

Nhưng một điều bạn cần lưu ý là số nguyên đầu ra luôn ở trong cơ số 10.

Một điều khác bạn cần nhớ là một cơ số nhất định phải nằm trong khoảng từ 2 đến 32. Xem ví dụ sau.

# app.py

amp = '123'
print(type(amp))

convertedInt = int(amp)
print(type(convertedInt))
print(convertedInt)

convertedInt8 = int(amp, base=8)
print(type(convertedInt))
print(convertedInt)

convertedInt16 = int(amp, base=16)
print(type(convertedInt16))
print(convertedInt16)

convertedInt32 = int(amp, base=32)
print(type(convertedInt32))
print(convertedInt32)

Xem kết quả bên dưới.

Chuyển đổi chuỗi thành int từ các cơ sở khác nhau

Trong khi chuyển đổi từ Chuỗi thành int, bạn có thể nhận được ValueError ngoại lệ. Ngoại lệ ValueError xảy ra nếu Chuỗi bạn muốn chuyển đổi không đại diện cho bất kỳ số nào.

Nếu bạn định chuyển đổi số thập lục phân thành số nguyên, bạn sẽ không phải chuyển đối số cơ sở = 16 bên trong int () hàm số.

Nó sẽ nâng cao ValueError ngoại lệ nếu bất kỳ chữ số nào không thuộc hệ thống số thập phân.

Bạn nên nhớ một số trường hợp ngoại lệ:

  1. Theo một đối số, dấu phẩy động (số nguyên có phần thập phân) sẽ trả về số thực được làm tròn xuống thành số nguyên gần nhất. Ví dụ: print (int (11.21)) sẽ in 7. Ngoài ra, print (int (11.21)) sẽ dẫn đến Lỗi vì Chuỗi là đối số không hợp lệ để chuyển đổi thành số nguyên.

    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    ValueError: invalid literal for int() with base 10: '11.21'
  2. Ngoài ra, bất kỳ số nguyên nào trong từ, nếu được cung cấp làm đối số, sẽ trả về cùng một lỗi như trên: print (int (eleven)) sẽ cung cấp một lỗi như sau.

    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    ValueError: invalid literal for int() with base 10: 'eleven'

Các hàm int () giả sử rằng đối số chuỗi đại diện cho số nguyên thập phân theo mặc định. Tuy nhiên, nếu bạn chuyển chuỗi thập lục phân sang phương thức int (), thì bạn sẽ thấy ValueError.

Xem đoạn mã sau.

# app.py

v1 = "0x11E"

print('The value of v1 is: ', v1)
print('The data type of v1 is:', type(v1))

conv = int(v1)
print(conv)

Đầu ra

python3 app.py
The value of v1 is:  0x11E
The data type of v1 is: <class 'str'>
Traceback (most recent call last):
  File "app.py", line 6, in <module>
    conv = int(v1)
ValueError: invalid literal for int() with base 10: '0x11E'

Thông báo lỗi gợi ý rằng Chuỗi không phải là một số nguyên thập phân hợp lệ.

Điều cần thiết là phải nhận ra sự khác biệt giữa hai loại kết quả không thành công khi chuyển Chuỗi đến int ():

  1. Lỗi cú pháp: Một ValueError sẽ được ném khi hàm int () không biết cách phân tích cú pháp Chuỗi bằng cách sử dụng cơ sở được cung cấp (mặc định là 10).
  2. Lỗi lôgic: Hàm int () biết cách phân tích cú pháp một Chuỗi, nhưng không biết cách bạn mong đợi.

Phân tích cú pháp int thành chuỗi bằng Python

Chúng ta có thể sử dụng str () hàm phân tích cú pháp int Python thành Chuỗi để chuyển đổi một số nguyên thành Chuỗi.

Phân tích cú pháp cũng giống như chuyển đổi trong lập trình.

Xem ví dụ sau.

# app.py

hexValue = 0x2f22
print(hexValue)
print(type(hexValue))
hexValue = str(hexValue)
print(hexValue)
print(type(hexValue))

Xem kết quả bên dưới.

Hướng dẫn chuyển đổi Python Int thành chuỗi

Xem một ví dụ khác về chuyển đổi Int thành chuỗi trong Python.

# app.py

digit = 1921
print(digit)
print(type(digit))
digit = str(digit)
print(digit)
print(type(digit))

Ví dụ hướng dẫn chuyển đổi Python Int thành chuỗi

Chuỗi Python để thả nổi

Để chuyển đổi một chuỗi thành float trong Python, hãy sử dụng hàm float (). Float () là một phương thức Python tích hợp sẵn để ép giá trị chuỗi thành một số nguyên. Bạn có thể sử dụng một nổi lớp để chuyển đổi chuỗi thập phân thành số thực.

Xem ví dụ sau để minh họa.

# app.py

eleven = '11.21'
hopper = 19.21

el = float(eleven) + hopper
print ("The value of el = ",el)

Xem kết quả sau.

➜ pyt python3 app.py
The value of el = 30.42
➜ pyt

Để biết thêm thông tin, hãy xem chuyển đổi String thành Float trong ví dụ Python.

Chuyển đổi chuỗi số trong danh sách thành số nguyên

Nếu bạn định chuyển đổi số chuỗi trong danh sách Python, thì một cách để chuyển những chuỗi đó thành int là sử dụng khả năng hiểu danh sách. Như thể hiện trong ví dụ bên dưới, một danh sách mới sẽ được tạo để sử dụng int trong mỗi lần lặp.

# app.py

str_list = ['11', '19', '21']
int_list = [int(a) for a in str_list]
print (int_list)

Xem kết quả sau.

➜  pyt python3 app.py
[11, 19, 21]
➜  pyt

Chuyển đổi chuỗi thành int với dấu phẩy

Còn về chuỗi số có dấu phẩy như 11,000,000. Nếu bạn cố gắng chuyển đổi Chuỗi này bằng cách sử dụng int hoặc float, nó sẽ tạo ra Lỗi do dấu phẩy.

Giải pháp cho Lỗi trên là nhập ngôn ngữ.

import locale

Bây giờ, bạn có thể sử dụng cài đặt ngôn ngữ Hoa Kỳ như sau.

locale.setlocale( locale.LC_ALL, "en_US.UTF-8")

Tuy nhiên, điều này có thể gây ra sự cố với các vị trí khác nhau.

Vì vậy, một giải pháp khác là thay thế dấu phẩy bằng không. Ví dụ, hãy xem đoạn mã dưới đây.

# app.py

elevenmillion = '11,000,000'
eleven = int(elevenmillion.replace(',',''))

print ("The integer value", eleven)

Xem kết quả sau.

➜  pyt python3 app.py
The integer value 11000000
➜  pyt

Python int thành chuỗi

Để chuyển đổi số nguyên Python thành chuỗi, hãy sử dụng hàm str () tích hợp sẵn. Str () là một hàm Python tích hợp sẵn, 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 và trả về một chuỗi.

Xem đoạn mã sau.

# app.py

v1 = 1
v2 = 11

print('The value of v1 is: ', v1)
print('The data type of v1 is:', type(v1))
print('The value of v2 is: ', v2)
print('The value of v2 is: ', type(v2))

Đầu ra

python3 app.py
The value of v1 is:  1
The data type of v1 is: <class 'int'>
The value of v2 is:  11
The value of v2 is:  <class 'int'>

Nếu bạn muốn lấy kiểu dữ liệu của bất kỳ giá trị nào, hãy sử dụng hàm type ().

Sự kết luận

Dây có thể được chuyển đổi thành số bằng cách sử dụng int() và trôi nổi() chức năng. Nếu Chuỗi không có chữ số thập phân, đổi nó cho một số nguyên sử dụng int() phương pháp. Các str () hàm được sử dụng để chuyển đổi số nguyên thành Chuỗi.

Hàm ord () chuyển đổi ký tự thành một số nguyên.

Hàm hex () chuyển đổi một số nguyên thành một chuỗi thập lục phân.

Hàm oct () chuyển đổi một số nguyên thành các chuỗi bát phân.

Đó là nó cho hướng dẫn.

Bài viết được đề xuất

Python float ()

Chuỗi Python vào danh sách

Các kiểu dữ liệu Python