diff --git a/lib/exchange_rate.py b/lib/exchange_rate.py index ff739e92d..23de311ec 100644 --- a/lib/exchange_rate.py +++ b/lib/exchange_rate.py @@ -5,6 +5,7 @@ import sys from threading import Thread import time import csv +import decimal from decimal import Decimal from .bitcoin import COIN @@ -389,7 +390,11 @@ class FxThread(ThreadJob): def ccy_amount_str(self, amount, commas): prec = CCY_PRECISIONS.get(self.ccy, 2) fmt_str = "{:%s.%df}" % ("," if commas else "", max(0, prec)) - return fmt_str.format(round(amount, prec)) + try: + rounded_amount = round(amount, prec) + except decimal.InvalidOperation: + rounded_amount = amount + return fmt_str.format(rounded_amount) def run(self): # This runs from the plugins thread which catches exceptions