Sign Up Form

Sign Up

How do I convert a string to an integer in Python?

202 148 point-admin
  • 0

How to Convert a String to an Integer in Python

In Python, converting a string to an integer is a common task, especially when dealing with user input or data parsing. The simplest and most direct way to do this is by using the built-in int() function.

1. Using the int() Function

The int() function takes a string as input and converts it into an integer. Here’s an example:

number_string = "123"
number = int(number_string)
print(number)  # Output: 123

This converts the string "123" into the integer 123.

2. Handling Invalid Input

If the string contains non-numeric characters, int() will raise a ValueError. To handle this, use try and except blocks:

try:
    number = int("123abc")
except ValueError:
    print("Invalid input, cannot convert to integer.")

This way, you avoid crashing your program when an invalid string is passed.

3. Converting Different Number Formats

You can also convert strings representing numbers in different formats, like binary, hexadecimal, or octal, by specifying the base as the second argument of int().

  • Binary to Integer:
binary_string = "1010"
number = int(binary_string, 2)
print(number)  # Output: 10
  • Hexadecimal to Integer:
hex_string = "1A"
number = int(hex_string, 16)
print(number)  # Output: 26

4. Using float() for Decimals

If the string represents a decimal number and you want to preserve the decimal value, use float() instead of int():

decimal_string = "123.45"
number = float(decimal_string)
print(number)  # Output: 123.45

Note that int() will truncate the decimal part when converting:

number = int(float(decimal_string))
print(number)  # Output: 123

Conclusion

Converting a string to an integer in Python is straightforward using the int() function. Always ensure that your input is valid or handle errors with try-except blocks. By understanding these fundamentals, you can handle various numeric string formats in your Python applications.

Leave a Reply

Your email address will not be published.