Last 2 digits of an integer? Python 3

51,934

Solution 1

Why don't you extract the absolute value of the number modulus 100? That is, use

 abs(num) % 100 

to extract the last two digits?

In terms of performance and clarity, this method is hard to beat.

Solution 2

To get the last 2 digits of num I would use a 1 line simple hack:

str(num)[-2:]

This would give a string. To get an int, just wrap with int:

int(str(num)[-2:])

Solution 3

Simpler way to extract last two digits of the number (less efficient) is to convert the number to str and slice the last two digits of the number. For example:

# sample function
def get_last_digits(num, last_digits_count=2):
    return int(str(num)[-last_digits_count:])
    #       ^ convert the number back to `int`

OR, you may achieve it via using modulo % operator (more efficient), (to know more, check How does % work in Python?) as:

def get_last_digits(num, last_digits_count=2):
    return abs(num) % (10**last_digits_count)
    #       ^ perform `%` on absolute value to cover `-`ive numbers

Sample run:

>>> get_last_digits(95432)
32
>>> get_last_digits(2)
2
>>> get_last_digits(34644, last_digits_count=4)
4644

Solution 4

to get the last 2 digits of an integer.

a = int(input())
print(a % 100)
Share:
51,934
Admin
Author by

Admin

Updated on January 08, 2021

Comments

  • Admin
    Admin over 3 years

    With my code, I want to get the last two digits of an integer. But when I make x a positive number, it will take the first x digits, if it is a negative number, it will remove the first x digits.

    Code:

    number_of_numbers = 1
    num = 9
    while number_of_numbers <= 100:
      done = False
      num = num*10
      num = num+1
      while done == False:
        num_last = int(repr(num)[x])
        if num_last%14 == 0:
          number_of_numbers = number_of_numbers + 1
          done = True
        else:
          num = num + 1
    print(num)
    
  • cs95
    cs95 over 7 years
    Conversion operations are expensive. Why would you want to do this if there are simpler ways?
  • Moinuddin Quadri
    Moinuddin Quadri over 7 years
    @Shiva: Now I have explicitly mentioned that conversion is less efficient. Converison is simpler to implement (atleast as per me)