Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.11.2019, 11:49   #1
FriLDD
Пользователь
 
Регистрация: 02.10.2019
Сообщений: 10
По умолчанию Остаток от деления в Python

Здравствуйте, помогите реализовать логику голограммы, которая находит остаток от деления на 1. Да, знаю это пишется так number % 1,
но при выполнении данной операции появляется погрешность, к примеру:
16,25 % 1 = 0,2500000015 Проблема в том, что мне нужна длинна остатка(2 символа (25)), каким образом можно избавиться от этой погрешности?
FriLDD вне форума Ответить с цитированием
Старый 02.11.2019, 14:35   #2
Desc
Участник клуба
 
Аватар для Desc
 
Регистрация: 21.11.2007
Сообщений: 1,063
По умолчанию

Используйте округление round.
Код:
n = 16.25
k = 3
z = n / k
print (round(z, 2))
I am not a wizard, I am just learning.

Последний раз редактировалось Desc; 02.11.2019 в 14:41.
Desc вне форума Ответить с цитированием
Старый 02.11.2019, 14:43   #3
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,304
По умолчанию

1. А что у вас за версия?
Код:
>>> 16.25 % 1
0.25
>>> import math
>>> math.fmod(16.25,1)
0.25
>>> (16.25 % 1)*100000
25000.0
>>> (16.25 % 1)*1000000000000
250000000000.0
>>> divmod(16.25,1)
(16.0, 0.25)
У себя я этого не наблюдаю. Да и число 16.25 точно представляется в форме вещественного числа.
Ну вот ещё можно попробовать через округление:
Код:
round(<Число>[, <Количество знаков после точки>])
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 02.11.2019, 17:22   #4
Desc
Участник клуба
 
Аватар для Desc
 
Регистрация: 21.11.2007
Сообщений: 1,063
По умолчанию

Похоже действительно трабл в версии.
Результат в версии 3.7.4:
Код:
>>> n = 16.25
>>> k = 1
>>> z = n % k
>>> print (round(z,2))
0.25
>>> print (z)
0.25
Остаток одинаковый как с округлением, так и без него.
I am not a wizard, I am just learning.
Desc вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Остаток от деления % [Visual C++] spectrum988 Помощь студентам 2 06.04.2015 21:49
остаток от деления madman_34 Общие вопросы C/C++ 1 17.12.2011 00:37
Остаток от деления Memfis_nya Помощь студентам 23 26.09.2010 14:58
остаток от деления % Division Общие вопросы C/C++ 5 25.12.2008 14:08