2025-01-09 00:18:24 +03:00
|
|
|
from decimal import Decimal
|
2025-01-08 22:58:12 +03:00
|
|
|
|
2025-01-09 00:18:24 +03:00
|
|
|
def format_number(number):
|
|
|
|
number = Decimal(str(number))
|
2025-01-09 23:03:38 +03:00
|
|
|
|
2025-01-10 00:54:59 +03:00
|
|
|
formatted_integer_part = '{:,.0f}'.format(number // 1).replace(',', ' ')
|
|
|
|
fractional_part = f"{number % 1:.30f}".split('.')[1]
|
2025-01-09 23:03:38 +03:00
|
|
|
|
2025-01-10 00:54:59 +03:00
|
|
|
if int(fractional_part) == 0:
|
|
|
|
return formatted_integer_part + ''
|
|
|
|
|
|
|
|
significant_start = next((i for i, char in enumerate(fractional_part) if char != '0'), len(fractional_part))
|
|
|
|
result_fractional = fractional_part[:significant_start + 3]
|
|
|
|
return formatted_integer_part + '.' + result_fractional
|