How to shorten the float result I got? I only need 2 digits after the dot. Sorry I really don\'t know how to explain this better in English...
Thanks
If you need numbers like 2.3k or 12M, this function does the job:
def get_shortened_integer(number_to_shorten):
""" Takes integer and returns a formatted string """
trailing_zeros = floor(log10(abs(number_to_shorten)))
if trailing_zeros < 3:
# Ignore everything below 1000
return trailing_zeros
elif 3 <= trailing_zeros <= 5:
# Truncate thousands, e.g. 1.3k
return str(round(number_to_shorten/(10**3), 1)) + 'k'
elif 6 <= trailing_zeros <= 8:
# Truncate millions like 3.2M
return str(round(number_to_shorten/(10**6), 1)) + 'M'
else:
raise ValueError('Values larger or equal to a billion not supported')
Results:
>>> get_shortened_integer(2300)
2.3k # <-- str
>>> get_shortened_integer(1300000)
1.3M # <-- str