Страницы

Поиск по вопросам

воскресенье, 15 декабря 2019 г.

Как поменять местами дробную и целую части числа?

#python



  Дано вещественное число вида nnn.ddd (по три разряда в целой и дробной части).
Поменять местами дробную и целую части числа.




Я так вижу её на питоне. Подскажите, правильно или нет. Почему-то не идёт.

n=float(input())
print((n*1000)%1000+int(n)/1000)

    


Ответы

Ответ 1



Чтобы избежать проблем с тем как float представлены в компьютере, работайте со строками напрямую: s = input().strip() print(*s.partition('.')[::-1], sep='') Пример ввода: 543.210 Вывод: 210.543 Если хотите как с числом работать, то можно использовать класс, который десятичные цифры использует внутри для хранения чисел: >>> from decimal import Decimal >>> d = Decimal('543.210') >>> (d%1)*1000+Decimal(int(d))/1000 Decimal('210.543') Результаты обоих методов совпадают с точностью до лидирующих нулей в начале целой части.

Ответ 2



x = 123.001 '{0:07.3f}'.format((x - int(x)) * 1000 + int(x) / 1000) # '001.123' float('{0:07.3f}'.format((x - int(x)) * 1000 + int(x) / 1000)) # 1.123

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

Отправить комментарий