Python chuyển đổi chuỗi thành số

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ỗi

Dướ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ối

Bạ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 quy

6. 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
    
    # 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
    
    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
  • Sử dụng
    
    # 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
    
    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
    
    # 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
    
    0
  • Chuyển đổ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 thành số nguyên vớ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
    
    1

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
0

7. 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

Làm thế nào chuỗi được chuyển đổi thành một số?

Chuỗi có thể được chuyển đổi thành số bằng cách sử dụng các phương thức int[] và float[] . Nếu chuỗi của bạn không có vị trí thập phân, rất có thể bạn sẽ muốn chuyển đổi nó thành số nguyên bằng cách sử dụng phương thức int[].

Làm cách nào để chuyển đổi chuỗi thành số trong gấu trúc?

to_numeric[] Ngoài ra, bạn có thể chuyển đổi tất cả các cột chuỗi thành kiểu số nguyên trong gấu trúc bằng cách sử dụng to_numeric[]. Ví dụ: sử dụng df['Fee'] = pd. Hàm to_numeric[df['Fee']] để chuyển cột 'Phí' thành int.

Chủ Đề