Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
Friendly number solution in Clear category for Friendly Number by Nirmala
import decimal
import math
from math import floor
def friendly_number(number, base=1000, decimals=0, suffix='',
powers=['', 'k', 'M', 'G', 'T', 'P', 'E', 'Z', 'Y']):
n, z = number, str(number)
i = 0
p = powers[i]
f = "%." + str(decimals) + "f"
zn = ""
if n < 0:
zn = "-"
if not base:
base = 1000
while abs(n) >= base and i < len(powers) - 1:
if not decimals:
n = abs(n) // base
i += 1
z = zn + str(n)
else:
n = n / base
i += 1
fl = (floor(n * 10 ** decimals)) / 10 ** decimals
z = str(f%(round(fl, decimals)))
if abs(n) < base:
if decimals:
fl = (floor(n * 10 ** decimals)) / 10 ** decimals
z = str(f%(round(fl, decimals)))
a = z + powers[i] + suffix
return a
Nov. 22, 2016