Python Forum
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
doubling a number
#4
A faster version using Python's arbitrarily sized integers
def double(text):
    parts = text.split('.', 1)
    a, b = parts if len(parts) == 2 else (parts[0], '')
    shift = len(b)
    n = str(int(a + b) * 2)
    if shift:
        return f'{n[:-shift]}.{n[-shift:]}'
    else:
        return n

for num in ("1", "10", "12.5", "1.9", "99", "99.7899", "99.999"):
    print(f"{num}, {double(num)}")
This code assumes that the initial string doesn't have an exponential part such as 31.4e-1
Reply


Messages In This Thread
doubling a number - by Skaperen - Jul-15-2023, 04:55 PM
RE: doubling a number - by Gribouillis - Jul-15-2023, 07:08 PM
RE: doubling a number - by perfringo - Jul-16-2023, 08:36 AM
RE: doubling a number - by Gribouillis - Jul-16-2023, 03:56 PM
RE: doubling a number - by Skaperen - Jul-16-2023, 11:25 PM
RE: doubling a number - by ibreeden - Jul-17-2023, 08:39 AM
RE: doubling a number - by Skaperen - Jul-19-2023, 01:53 AM
RE: doubling a number - by ibreeden - Jul-19-2023, 06:41 AM
RE: doubling a number - by Skaperen - Jul-25-2023, 10:20 PM

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020