HowTo: Python Convert a String Into Integer

How do I convert a string such as x=’12345′ to an integer (int) under Python programming language? How can I parse python string to integer?

Tutorial details
DifficultyEasy (rss)
Root privilegesNo
RequirementsPython
Time1m
You need to use int(s) to convert a string or number to an integer. For testing purpose, defined a string called x=’123456′, run:

ADVERTISEMENTS

You may also need to use float(s) to convert a string or number to a floating point number or combination of both as follows:


int(s)
float(s)
int(float(s))

Examples

x = '123456'

Confirm the object type:

type(x)

Sample outputs:

<type 'str'>

Convert a string to an int and store it to i, run:

i = int(x)
type(i)

Sample outputs:

<type 'int'>

However, the following string to int will fail:

x='123456.334'
y=int(x)

Sample outputs:

ValueError                                Traceback (most recent call last)

/home/vivek/ in ()

ValueError: invalid literal for int() with base 10: '123456.334'

Try the following solution:

x='123456.334'
y=int(float(x))
type(x)
type(y)
print y
a='12.5'
b='13.5'
print( int(float(a))+ int(float(b)) )

Finally, you can also use floating point class for decimal arithmetic:

x='123.34'
import decimal
i=int(Decimal(x))
print(i)
type(i)
🐧 Get the latest tutorials on SysAdmin, Linux/Unix, Open Source/DevOps topics:
CategoryList of Unix and Linux commands
File Managementcat
FirewallAlpine Awall CentOS 8 OpenSUSE RHEL 8 Ubuntu 16.04 Ubuntu 18.04 Ubuntu 20.04
Network Utilitiesdig host ip nmap
OpenVPNCentOS 7 CentOS 8 Debian 10 Debian 8/9 Ubuntu 18.04 Ubuntu 20.04
Package Managerapk apt
Processes Managementbg chroot cron disown fg jobs killall kill pidof pstree pwdx time
Searchinggrep whereis which
User Informationgroups id lastcomm last lid/libuser-lid logname members users whoami who w
WireGuard VPNCentOS 8 Debian 10 Firewall Ubuntu 20.04

ADVERTISEMENTS
10 comments… add one
  • Charlie Oct 20, 2014 @ 20:42

    Hey, I get an error output when I input i=int(Decimal(x)), NameError: name ‘Decimal’ is not defined. Forgive me, I’m new to Python. Can you explain this?

    • Faiza Jan 25, 2016 @ 11:06

      I DONT REALLY KNOW BUT I CAN FIND OUT FOR YOU AND ANYWAY THTS THE EXACT SAME THING IM STUCK ON

  • Ferran May 7, 2015 @ 15:11

    Hi, try to write your Decimal like this (decimal):

    x='123.34'
    import decimal
    i=int(decimal(x))
    print(i)
    type(i)
  • Saikiran May 13, 2015 @ 12:53

    x=’123.34′
    import decimal
    i=int(decimal.Decimal(x))
    print(i)
    type(i)

  • de Bise May 14, 2015 @ 8:24

    Bonjour
    J’ai un problème avec mon programme , puis-je vous le montrer afin que vous m’aidiez ?
    dans mon programme j’aimerai convertir un format str en int afin de faire une série de calcule

  • Lisa Mc Guire Nov 8, 2015 @ 11:52

    Hi!
    im a python-beginner and dont know much about programming yet..
    so i ve got the “programming in python3” book
    my question:
    page55
    i ve got problems to understand int(s , base)

    it would be nice to get a simple example!
    thnx:)!

  • Anil Feb 28, 2016 @ 16:37
    import array
    i=0
    verts = list(xrange(1000))
    f = open("gluon.txt", "r+")
    words = f.read().split()
    for w in words:
        verts[i]=int('w')
        i += 1
    

    Im getting the error:

    Traceback (most recent call last):
      File "C:\Anil\Python\test.py", line 7, in 
        verts[i]=int('w')
    ValueError: invalid literal for int() with base 10: 'w'
    

    Please help me

  • tara Jun 3, 2016 @ 12:14

    thanks

  • Sundar Oct 10, 2016 @ 1:18

    Good. But how do you convert the string ‘5.3.5’ to float number?

  • jimbob Jan 13, 2017 @ 11:54

    how can i turn a sentence that a user has input into numbers

Leave a Reply

Your email address will not be published.

Use HTML <pre>...</pre>, <code>...</code> and <kbd>...</kbd> for code samples.