Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
Does like it should... solution in Speedy category for Friendly Number by sven-menschner
from math import log
def friendly_number(number, base=1000, decimals=0, suffix='',
powers=['', 'k', 'M', 'G', 'T', 'P', 'E', 'Z', 'Y']):
power = 0 if not number else int(log(abs(number), base))
number /= base**power
if power < len(powers):
numerical_power = 0
else:
numerical_power = power - len(powers) + 1
power = len(powers) -1
number *= base**numerical_power
number = str(int(number)) if decimals == 0 else "{0:.{1}f}".format(round(number, decimals), decimals)
return number + powers[power] + suffix
March 20, 2016