Как получить название самого большого разряда числа

Я хочу сделать что-то типо счетчика ютуба - 1500000 должен быть 1.5M и 150000 = 150К


Ответы (1 шт):

Автор решения: Zhihar

Я бы сделал бы так (если в лоб):

import math

num = 153400000000000000000

# наименование разрядов
prefixes = ['', 'K', 'M', 'G', 'T']

# определить кол-во разрядов
size = int(math.log10(num)) // 3

# получить часть без учёта разрядов
value = num / 10**(3 * size)

# получить префикс
prefix = prefixes[size] if len(prefixes) > size else " дохулионов"

# если префикса для числа нет - вывести число с максимальным префиксом
#if len(prefixes) > size:
#    prefix = prefixes[size]
#else:
#    size = len(prefixes) - 1
#    value = num / 10**(3 * size)
#    prefix = prefixes[size]
    
# вывести текст
print(f'{value}{prefix}')
→ Ссылка