diff --git a/tgbot/utils/const_functions.py b/tgbot/utils/const_functions.py index 8675823..102ec52 100644 --- a/tgbot/utils/const_functions.py +++ b/tgbot/utils/const_functions.py @@ -264,22 +264,19 @@ def is_bool(value: Union[bool, str, int]) -> bool: ######################################## ЧИСЛА ######################################## # Преобразование экспоненциальных чисел в читаемый вид (1e-06 -> 0.000001) -def snum(amount: float, remains=0) -> str: - str_amount = f"{float(amount):8f}" +def snum(amount: Union[int, float]) -> str: + str_amount = str(amount) - if remains != 0: - if "." in str_amount: - remains_find = str_amount.find(".") - remains_save = remains_find + 8 - (8 - remains) + 1 - - str_amount = str_amount[:remains_save] + if "e" in str_amount: + decial = str_amount.split("e") + str_amount = format(((float(decial[0])) * (10 ** int(decial[1]))), ".8f") if "." in str(str_amount): - while str(str_amount).endswith('0'): str_amount = str(str_amount)[:-1] + while str(str_amount).endswith("0"): str_amount = str(str_amount)[:-1] - if str(str_amount).endswith('.'): str_amount = str(str_amount)[:-1] + if str(str_amount).endswith("."): str_amount = str(str_amount)[:-1] - return str(str_amount) + return str_amount # Конвертация любого числа в вещественное, с удалением нулей в конце (remains - округление)