From 185768805fcf032b5ae2182d9fa7ed3074e316c6 Mon Sep 17 00:00:00 2001 From: jordan <jordan@le-filament.com> Date: Wed, 24 Feb 2021 11:29:45 +0100 Subject: [PATCH] [add] function to round float to closest multiple --- models/scop_cotisation.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/models/scop_cotisation.py b/models/scop_cotisation.py index 0af48e4..20ebceb 100644 --- a/models/scop_cotisation.py +++ b/models/scop_cotisation.py @@ -120,3 +120,18 @@ class ScopCotisation(models.AbstractModel): ('end', '>', date(self.year, 1, 1)) ]).mapped('partner_id') return members + + def round_to_closest_multiple(self, float_to_round, multiple): + """ + :param float_to_round: + :param multiple: + :return: closest_multiple + """ + small_multiple = (float_to_round // multiple) * multiple + large_multiple = small_multiple + multiple + + # Return the closest of two + if abs(float_to_round - small_multiple) < large_multiple: + return small_multiple + else: + return large_multiple -- GitLab