fix #4759
This commit is contained in:
@@ -511,15 +511,21 @@ def format_satoshis(x, num_zeros=0, decimal_point=8, precision=None, is_diff=Fal
|
|||||||
return 'unknown'
|
return 'unknown'
|
||||||
if precision is None:
|
if precision is None:
|
||||||
precision = decimal_point
|
precision = decimal_point
|
||||||
|
# format string
|
||||||
decimal_format = ".0" + str(precision) if precision > 0 else ""
|
decimal_format = ".0" + str(precision) if precision > 0 else ""
|
||||||
if is_diff:
|
if is_diff:
|
||||||
decimal_format = '+' + decimal_format
|
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(".")
|
integer_part, fract_part = result.split(".")
|
||||||
dp = DECIMAL_POINT
|
|
||||||
if len(fract_part) < num_zeros:
|
if len(fract_part) < num_zeros:
|
||||||
fract_part += "0" * (num_zeros - len(fract_part))
|
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:
|
if whitespaces:
|
||||||
result += " " * (decimal_point - len(fract_part))
|
result += " " * (decimal_point - len(fract_part))
|
||||||
result = " " * (15 - len(result)) + result
|
result = " " * (15 - len(result)) + result
|
||||||
|
|||||||
Reference in New Issue
Block a user