fix: handle exponential notation and large numbers in format_number function

This commit is contained in:
Данил 2025-01-09 00:18:24 +03:00
parent d8d6635987
commit 234e8bf244

View file

@ -1,14 +1,12 @@
from decimal import Decimal
def format_number(number):
number_str = str(number)
number = Decimal(str(number))
if '.' in number_str:
integer_part, fractional_part = number_str.split('.')
else:
integer_part, fractional_part = number_str, ''
formatted_integer_part = '{:,.0f}'.format(number).replace(',', ' ')
formatted_integer_part = '{:,}'.format(int(integer_part)).replace(',', ' ')
if fractional_part:
if '.' in str(number):
fractional_part = str(number).split('.')[1]
return formatted_integer_part + '.' + fractional_part
else:
return formatted_integer_part