Как преобразовать числа в целые числа в Python [дубликат]

Sep 21 2020

Мне интересно, как я могу 1,999,999перейти на питон 1,000,000или 2,000,108на него 2,000,000? Я использовал, math.floor()но это просто для удаления десятичной части.

Ответы

2 YuchenZhong Sep 21 2020 at 01:53

Просто сделайте это так:

math.floor(num / 1000000) * 1000000

например:

>>> num=1999999
>>> math.floor(num / 1000000) * 1000000
1000000.0
>>> num=2000108
>>> math.floor(num / 1000000) * 1000000
2000000.0
1 MichaelSzczesny Sep 21 2020 at 02:03

Чтобы округлить положительное целое число до первой цифры

from math import floor

def r(n):
    gr = 10 ** (len(str(n))-1)
    return floor(n / gr) * gr

for i in [199_999, 200_100, 2_100, 315]:
    print(r(i))

Вывод

100000
200000
2000
300
1 Federico Sep 21 2020 at 02:05
def floor_integer(num):
    l = str(num)
    return int(l[0]) * pow(10, len(l) - 1)

Думаю, это соответствует вашим потребностям.

print(floor_integer(5))
# 5

print(floor_integer(133))
# 100

print(floor_integer(1543))
# 1000

print(floor_integer(488765))
# 400000

print(floor_integer(1999999))
# 1000000

print(floor_integer(2000108))
# 2000000