Python -> преобразовать число из 0.0002321 в 2321

#python #python-3.x #list

#python #python-3.x #Список

Вопрос:

Я хочу написать код для преобразования числа с плавающей запятой, такого как 0.00123 в 123, я действительно не знаю, как это точно объяснить. Допустим, у меня есть этот код:

 Entry = float(input("Give me the Entry position: "))
 

мы можем предположить, что я получаю входные данные 0.005686584. Я хочу удалить начальные нули и получить остальные числа в качестве выходных данных (5686584).

Примеры: 0.4537823 -> 4537823, 0.001234 -> 1234

Комментарии:

1. Этих примеров недостаточно. Скажем, у меня есть 00456.78 , должно ли оно быть преобразовано в 45678 игнорирование 0 или должно быть 78 (с учетом десятичной дроби)?

Ответ №1:

Сохраните входные данные в виде строки, удалите «точку» и преобразуйте ее в int:

 entry = input("Give me the Entry position: ") #  0.000023
print(int(entry.replace('.', '')))
 

Выход:

 23
 

Альтернативно вы можете отфильтровать все символы, которые не являются цифрой:

 #  entry = input("Give me the Entry position: ")
entry = "ffff89084023432.092"
print(int(''.join(x for x in entry if x.isdigit())))
 

Выход:

 89084023432092
 

Ответ №2:

Если вы не хотите использовать replace() и хотите выполнить некоторую математику, проверьте это:

 n = float(input())
while int(n) != n:
    n *= 10
print(int(n))