Bằng cách sử dụng hàm int[], bạn có thể chuyển đổi chuỗi thành int [số nguyên] trong Python. Ngoài int[] còn có các phương pháp khác để chuyển đổi. Chuyển đổi một chuỗi thành một số nguyên là một tác vụ phổ biến trong Python thường cần thiết khi làm việc với đầu vào của người dùng, đọc dữ liệu từ tệp hoặc tương tác với cơ sở dữ liệu. Có một số cách để làm điều này, và điều quan trọng là phải hiểu các phương pháp khác nhau và tiềm năng sử dụng của từng phương pháp
Ví dụ nhanh về chuyển đổi chuỗi thành int
Những ví dụ nhanh này bao gồm các cách tiếp cận khác nhau để cung cấp cho bạn tổng quan cấp cao về cách chuyển đổi chuỗi thành int. Chúng ta sẽ thảo luận về điều này chi tiết hơn
# Using the int[] function
strObj = "123"
result = int[strObj]
# Using the float[] function
strObj = "123.45"
float_num = float[strObj]
result = int[float_num]
# Using the bit_length[]
strObj = "10010101"
result = int[strObj, 2]
# Using the PyNumber_Long[]
import sys
strObj = "1234567890"
result = int[sys.intern[strObj]]
1. Python Chuyển đổi Chuỗi thành Int bằng cách sử dụng int[]
Để chuyển đổi chuỗi thành kiểu int [số nguyên], hãy sử dụng hàm
# Convert str to int
strObj = "987"
result = int[strObj]
print[result]
#Output:
#987
# Convert str with negative to int
strObj = "-654"
result = int[strObj]
print[result]
#Output:
#-654
1. Hàm này lấy đối số đầu tiên làm kiểu Chuỗi và cơ sở đối số thứ hai. Bạn có thể chuyển vào chuỗi làm đối số đầu tiên và chỉ định cơ số của số nếu nó không nằm trong cơ số 10. Hàm
# Convert str to int
strObj = "987"
result = int[strObj]
print[result]
#Output:
#987
# Convert str with negative to int
strObj = "-654"
result = int[strObj]
print[result]
#Output:
#-654
1 cũng có thể xử lý các số nguyên âm bằng cách nhận ra dấu âm trong chuỗi
# Convert str to int
strObj = "987"
result = int[strObj]
print[result]
#Output:
#987
# Convert str with negative to int
strObj = "-654"
result = int[strObj]
print[result]
#Output:
#-654
Nếu chuỗi không phải là giá trị số nguyên hợp lệ trong cơ sở đã chỉ định, nó sẽ tăng
# Convert str to int
strObj = "987"
result = int[strObj]
print[result]
#Output:
#987
# Convert str with negative to int
strObj = "-654"
result = int[strObj]
print[result]
#Output:
#-654
3. Bạn có thể sử dụng khối try-ngoại trừ để xử lý lỗi này và đảm bảo rằng mã của bạn chạy trơn tru. Hàm
# Convert str to int
strObj = "987"
result = int[strObj]
print[result]
#Output:
#987
# Convert str with negative to int
strObj = "-654"
result = int[strObj]
print[result]
#Output:
#-654
1 không thể chuyển đổi số dấu phẩy động được biểu thị dưới dạng chuỗi thành số nguyên
# Convert string with non-int
try:
strObj = "123.45"
result = int[strObj]
except ValueError:
print["String is not an integer."]
#Output:
#String is not an integer.
2. Sử dụng tham số cơ sở của int[]
Bạn có thể sử dụng tham số cơ sở để chỉ định cơ sở từ 2 đến 36, bao gồm. Ví dụ: bạn có thể sử dụng tham số cơ sở để chuyển đổi một chuỗi đại diện cho số cơ số 8 [bát phân] thành số nguyên
# Use Base 2 [binary] while convertion
strObj = "10010101"
result = int[strObj, 2]
print[result]
#Output:
#149
# Base 8 [octal] while convertion
strObj = "765"
result = int[strObj, 8]
print[result]
#Output:
#501
# Base 36 [alphanumeric]
strObj = "zzzzz"
result = int[strObj, 36]
print[result]
# Output:
#60466175
3. Chuyển đổi chuỗi thành int bằng cách kiểm tra là chữ số
Trong các ví dụ trên, chúng tôi đã thấy rằng chúng tôi sẽ thấy
# Convert str to int
strObj = "987"
result = int[strObj]
print[result]
#Output:
#987
# Convert str with negative to int
strObj = "-654"
result = int[strObj]
print[result]
#Output:
#-654
5 nếu có điều gì đó tồi tệ xảy ra. Bạn có thể sử dụng phương thức
# Convert str to int
strObj = "987"
result = int[strObj]
print[result]
#Output:
#987
# Convert str with negative to int
strObj = "-654"
result = int[strObj]
print[result]
#Output:
#-654
6 kết hợp với hàm
# Convert str to int
strObj = "987"
result = int[strObj]
print[result]
#Output:
#987
# Convert str with negative to int
strObj = "-654"
result = int[strObj]
print[result]
#Output:
#-654
1 để chuyển đổi một chuỗi thành số nguyên một cách an toàn mà không gặp phải ngoại lệ
# Convert str to int
strObj = "987"
result = int[strObj]
print[result]
#Output:
#987
# Convert str with negative to int
strObj = "-654"
result = int[strObj]
print[result]
#Output:
#-654
3
# Check if the str is a digit before convertion
def str_to_int[strObj: str] -> int:
if strObj.isdigit[]:
return int[strObj]
else:
return 0
strObj = "89"
result = str_to_int[strObj]
print[result]
#Output:
#89
strObj = "xyz"
result = str_to_int[strObj]
print[result]
#Output:
#0
4. Chuyển đổi chuỗi với Float thành Int
Đôi khi bạn có thể được yêu cầu chuyển đổi chuỗi có giá trị float thành int [số nguyên] trong Python. Hàm
# Convert str to int
strObj = "987"
result = int[strObj]
print[result]
#Output:
#987
# Convert str with negative to int
strObj = "-654"
result = int[strObj]
print[result]
#Output:
#-654
9 có thể được sử dụng để chuyển đổi một chuỗi thành số float và chuyển kết quả cho
# Convert str to int
strObj = "987"
result = int[strObj]
print[result]
#Output:
#987
# Convert str with negative to int
strObj = "-654"
result = int[strObj]
print[result]
#Output:
#-654
1 để chuyển đổi số dấu phẩy động thành số nguyên. Do đó, hàm
# Convert str to int
strObj = "987"
result = int[strObj]
print[result]
#Output:
#987
# Convert str with negative to int
strObj = "-654"
result = int[strObj]
print[result]
#Output:
#-654
1 sẽ xóa mọi số thập phân ở cuối chuỗiDưới đây là một ví dụ về việc sử dụng các hàm
# Convert str to int
strObj = "987"
result = int[strObj]
print[result]
#Output:
#987
# Convert str with negative to int
strObj = "-654"
result = int[strObj]
print[result]
#Output:
#-654
9 &
# Convert str to int
strObj = "987"
result = int[strObj]
print[result]
#Output:
#987
# Convert str with negative to int
strObj = "-654"
result = int[strObj]
print[result]
#Output:
#-654
1 để chuyển đổi một chuỗi thành một số nguyên
# Convert str with float to int
strObj = "12.56"
result = int[float[strObj]]
print[result]
#Output:
#12
strObj = "23.000"
result = int[float[strObj]]
print[result]
#Output:
#23
5. Xử lý đầu vào không hợp lệ
Khi hàm
# Convert str to int
strObj = "987"
result = int[strObj]
print[result]
#Output:
#987
# Convert str with negative to int
strObj = "-654"
result = int[strObj]
print[result]
#Output:
#-654
1 được sử dụng để chuyển đổi một chuỗi thành một số nguyên, nó sẽ trả về một giá trị
# Convert str to int
strObj = "987"
result = int[strObj]
print[result]
#Output:
#987
# Convert str with negative to int
strObj = "-654"
result = int[strObj]
print[result]
#Output:
#-654
3 nếu chuỗi không phải là một số nguyên hợp lệ. Điều này có thể xảy ra nếu chuỗi trống, chứa các ký tự không phải là số hoặc có khoảng trắng ở đầu hoặc cuốiBạn cũng có thể đã thấy điều này trong các ví dụ khác. Để xử lý lỗi này, bạn có thể sử dụng câu lệnh
# Convert string with non-int
try:
strObj = "123.45"
result = int[strObj]
except ValueError:
print["String is not an integer."]
#Output:
#String is not an integer.
6 và
# Convert string with non-int
try:
strObj = "123.45"
result = int[strObj]
except ValueError:
print["String is not an integer."]
#Output:
#String is not an integer.
7 như hình bên dưới
# Handling invalid input example
# With Valid Integer
strObj = "53"
try:
result = int[strObj]
except ValueError:
result = 0
print[result]
#Output:
#53
# With invalid integer
strObj = "abc"
try:
result = int[strObj]
except ValueError:
result = 0
print[result]
#Output:
#0
6. Thực hành tốt để chuyển đổi chuỗi thành số nguyên trong Python
Các phương thức sau của chuỗi có thể được sử dụng để đảm bảo rằng chuỗi sẵn sàng chuyển đổi thành int trong Python. Chúng bao gồm loại bỏ khoảng trắng ở đầu và cuối bằng cách sử dụng phương pháp chuỗi
# Convert string with non-int
try:
strObj = "123.45"
result = int[strObj]
except ValueError:
print["String is not an integer."]
#Output:
#String is not an integer.
8. Nó cũng bao gồm việc xóa bất kỳ ký tự không phải số nào bằng cách sử dụng phương thức chuỗi
# Convert string with non-int
try:
strObj = "123.45"
result = int[strObj]
except ValueError:
print["String is not an integer."]
#Output:
#String is not an integer.
9 và trích xuất phần số của chuỗi bằng biểu thức chính quy6. 1 Loại bỏ khoảng trắng bằng cách sử dụng dải[]
Kỹ thuật này có thể đặc biệt hữu ích nếu chuỗi bạn đang cố gắng chuyển đổi chứa các khoảng trắng ở đầu hoặc cuối, điều này có thể khiến hàm
# Convert str to int
strObj = "987"
result = int[strObj]
print[result]
#Output:
#987
# Convert str with negative to int
strObj = "-654"
result = int[strObj]
print[result]
#Output:
#-654
1 đưa ra một ngoại lệ
# Convert str to int
strObj = "987"
result = int[strObj]
print[result]
#Output:
#987
# Convert str with negative to int
strObj = "-654"
result = int[strObj]
print[result]
#Output:
#-654
3 khi nó được truyền một đối số không hợp lệDưới đây là một ví dụ về cách bạn có thể sử dụng phương thức
# Convert string with non-int
try:
strObj = "123.45"
result = int[strObj]
except ValueError:
print["String is not an integer."]
#Output:
#String is not an integer.
8 để xóa các khoảng trắng ở đầu và cuối khỏi một chuỗi trước khi thử chuyển đổi nó thành một số nguyên
# Strip whitespaces
strObj = " 67 "
stripped_string = strObj.strip[]
result = int[stripped_string]
print[result]
#Output:
#67
6. 2 Xóa các ký tự không phải là số bằng thay thế
Để xóa các ký tự không phải là số khỏi một chuỗi, bạn có thể sử dụng phương thức
# Convert string with non-int
try:
strObj = "123.45"
result = int[strObj]
except ValueError:
print["String is not an integer."]
#Output:
#String is not an integer.
9, đây là phương thức tích hợp sẵn của lớp
# Use Base 2 [binary] while convertion
strObj = "10010101"
result = int[strObj, 2]
print[result]
#Output:
#149
# Base 8 [octal] while convertion
strObj = "765"
result = int[strObj, 8]
print[result]
#Output:
#501
# Base 36 [alphanumeric]
strObj = "zzzzz"
result = int[strObj, 36]
print[result]
# Output:
#60466175
4 trong Python. Phương thức
# Convert string with non-int
try:
strObj = "123.45"
result = int[strObj]
except ValueError:
print["String is not an integer."]
#Output:
#String is not an integer.
9 sẽ xóa các ký tự được chỉ định trong đối số chuỗi cũ
# Remove non-numeric characters
strObj = "345xyz"
cleaned_string = strObj.replace["x", ""].replace["y", ""].replace["z", ""]
result = int[cleaned_string]
print[result]
#Output:
#345
Để làm cho nó tổng quát hơn, chúng ta có thể sử dụng mô-đun string trong python. Đây là một ví dụ cho bạn thấy làm thế nào để làm điều đó
- Tạo một chuỗi gồm tất cả các ký tự chữ cái bằng cách sử dụng
6 và# Use Base 2 [binary] while convertion strObj = "10010101" result = int[strObj, 2] print[result] #Output: #149 # Base 8 [octal] while convertion strObj = "765" result = int[strObj, 8] print[result] #Output: #501 # Base 36 [alphanumeric] strObj = "zzzzz" result = int[strObj, 36] print[result] # Output: #60466175
7# Use Base 2 [binary] while convertion strObj = "10010101" result = int[strObj, 2] print[result] #Output: #149 # Base 8 [octal] while convertion strObj = "765" result = int[strObj, 8] print[result] #Output: #501 # Base 36 [alphanumeric] strObj = "zzzzz" result = int[strObj, 36] print[result] # Output: #60466175
- Sử dụng
8 với# Use Base 2 [binary] while convertion strObj = "10010101" result = int[strObj, 2] print[result] #Output: #149 # Base 8 [octal] while convertion strObj = "765" result = int[strObj, 8] print[result] #Output: #501 # Base 36 [alphanumeric] strObj = "zzzzz" result = int[strObj, 36] print[result] # Output: #60466175
9 để xóa tất cả các ký tự chữ cái khỏi# Use Base 2 [binary] while convertion strObj = "10010101" result = int[strObj, 2] print[result] #Output: #149 # Base 8 [octal] while convertion strObj = "765" result = int[strObj, 8] print[result] #Output: #501 # Base 36 [alphanumeric] strObj = "zzzzz" result = int[strObj, 36] print[result] # Output: #60466175
0# Check if the str is a digit before convertion def str_to_int[strObj: str] -> int: if strObj.isdigit[]: return int[strObj] else: return 0 strObj = "89" result = str_to_int[strObj] print[result] #Output: #89 strObj = "xyz" result = str_to_int[strObj] print[result] #Output: #0
- Chuyển đổi
1 thành số nguyên với# Check if the str is a digit before convertion def str_to_int[strObj: str] -> int: if strObj.isdigit[]: return int[strObj] else: return 0 strObj = "89" result = str_to_int[strObj] print[result] #Output: #89 strObj = "xyz" result = str_to_int[strObj] print[result] #Output: #0
1# Convert str to int strObj = "987" result = int[strObj] print[result] #Output: #987 # Convert str with negative to int strObj = "-654" result = int[strObj] print[result] #Output: #-654
import string
strObj = "abc345xyz"
alphabet = strObj.ascii_lowercase + strObj.ascii_uppercase
cleaned_string = strObj.translate[strObj.maketrans["", "", alphabet]]
result = int[cleaned_string]
print[result]
#Output:
#345
6. 3 Trích xuất phần số của chuỗi bằng regex
Mô-đun
# Check if the str is a digit before convertion
def str_to_int[strObj: str] -> int:
if strObj.isdigit[]:
return int[strObj]
else:
return 0
strObj = "89"
result = str_to_int[strObj]
print[result]
#Output:
#89
strObj = "xyz"
result = str_to_int[strObj]
print[result]
#Output:
#0
3 bao gồm nhiều hàm và phương thức có thể được sử dụng để tìm kiếm, thay thế và tách chuỗi bằng biểu thức chính quy. Để trích xuất phần số của chuỗi bằng biểu thức chính quy, bạn có thể sử dụng mô-đun
# Check if the str is a digit before convertion
def str_to_int[strObj: str] -> int:
if strObj.isdigit[]:
return int[strObj]
else:
return 0
strObj = "89"
result = str_to_int[strObj]
print[result]
#Output:
#89
strObj = "xyz"
result = str_to_int[strObj]
print[result]
#Output:
#0
3, đây là mô-đun tích hợp sẵn trong Python cung cấp hỗ trợ cho biểu thức chính quy
# Convert str to int
strObj = "987"
result = int[strObj]
print[result]
#Output:
#987
# Convert str with negative to int
strObj = "-654"
result = int[strObj]
print[result]
#Output:
#-654
07. Tóm tắt và Kết luận
Trong bài viết này, chúng ta đã học các kỹ thuật khác nhau về cách chuyển đổi chuỗi thành int [số nguyên] trong Python. Các phương pháp này có thể hữu ích để xử lý các loại đầu vào và yêu cầu khác nhau trong mã của bạn. Nếu bạn có thêm bất kỳ câu hỏi nào về việc chuyển đổi chuỗi thành số nguyên trong Python, đừng ngần ngại hỏi