@@ -2,6 +2,7 @@ from decimal import Decimal from django.utils.translation import gettext_lazy as _ +import math class InsufficientBalance(Exception): def __init__( @@ -11,11 +12,13 @@ class InsufficientBalance(Exception): ): self.account_balance = account_balance self.requested_amount = requested_amount + self.needed = requested_amount - account_balance + result_message = _( - 'Token balance: %(balance)d,\nRequired amount: %(required)d,\nNeeded %(needed)d more' + 'Token balance: %(balance).2f,\nRequired amount: %(required)s,\nNeeded %(needed)s more' ) % { 'balance': self.account_balance, - 'required': self.requested_amount, - 'needed': self.requested_amount - self.account_balance, + 'required': math.ceil(self.requested_amount) if self.requested_amount % 1 == 0 else f'~{math.ceil(self.requested_amount)}', + 'needed': round(self.needed,2) if self.needed >= 1 else f'~{math.ceil(self.needed)}' } super().__init__(result_message)