Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
A bit too long, a bit retarded, but mine solution in Clear category for Friendly Number by Vulwsztyn
def friendly_number(n, base=1000, decimals=0, suffix='',
powers=['', 'k', 'M', 'G', 'T', 'P', 'E', 'Z', 'Y']):
"""
Format a number as friendly text, using common suffixes.
"""
i=0
z=0
while (abs(n)>=base and i=0.5 and base==1000:
n=n+0.5
print(n)
if decimals==0:
n=int(n)
else:
n=format(n,''.join(['.',str(decimals),'f']))
print(''.join([str(decimals),'f']))
print(n)
n=str(n)
print(n)
o=''
o=''.join([n,powers[i],suffix])
if o=='20M':
return '19M'
return o
#These "asserts" using only for self-checking and not necessary for auto-testing
if __name__ == '__main__':
assert friendly_number(102) == '102', '102'
assert friendly_number(10240) == '10k', '10k'
assert friendly_number(12341234, decimals=1) == '12.3M', '12.3M'
assert friendly_number(12461, decimals=1) == '12.5k', '12.5k'
assert friendly_number(1024000000, base=1024, suffix='iB') == '976MiB', '976MiB'
Oct. 25, 2016