From 70cca3bad9a40b5b5230e13c0d2fce7ae1312b53 Mon Sep 17 00:00:00 2001 From: SomberNight Date: Sun, 7 Oct 2018 17:50:52 +0200 Subject: [PATCH] fix #4759 --- electrum/util.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/electrum/util.py b/electrum/util.py index 20af6e179..8b796d050 100644 --- a/electrum/util.py +++ b/electrum/util.py @@ -511,15 +511,21 @@ def format_satoshis(x, num_zeros=0, decimal_point=8, precision=None, is_diff=Fal return 'unknown' if precision is None: precision = decimal_point + # format string decimal_format = ".0" + str(precision) if precision > 0 else "" if is_diff: decimal_format = '+' + decimal_format - result = ("{:" + decimal_format + "f}").format(x / pow (10, decimal_point)).rstrip('0') + # initial result + scale_factor = pow(10, decimal_point) + result = ("{:" + decimal_format + "f}").format(Decimal(x) / scale_factor) + if "." not in result: result += "." + result = result.rstrip('0') + # extra decimal places integer_part, fract_part = result.split(".") - dp = DECIMAL_POINT if len(fract_part) < num_zeros: fract_part += "0" * (num_zeros - len(fract_part)) - result = integer_part + dp + fract_part + result = integer_part + DECIMAL_POINT + fract_part + # leading/trailing whitespaces if whitespaces: result += " " * (decimal_point - len(fract_part)) result = " " * (15 - len(result)) + result