format number should also format negative values
This commit is contained in:
parent
3c6e12f3a9
commit
9c2fc5014e
1 changed files with 5 additions and 2 deletions
|
@ -85,12 +85,15 @@ def formatNumber(number, longName, shortName):
|
||||||
>>> formatNumber(1234567890123456789, 'Byte', 'B')
|
>>> formatNumber(1234567890123456789, 'Byte', 'B')
|
||||||
'1,096.5166 PB'
|
'1,096.5166 PB'
|
||||||
|
|
||||||
|
>>> formatNumber(-1234567890123456789, 'Byte', 'B')
|
||||||
|
'-1,096.5166 PB'
|
||||||
|
|
||||||
"""
|
"""
|
||||||
if number < 1024:
|
if abs(number) < 1024:
|
||||||
return '%s %s%s' % (formatThousands(number), longName, number != 1 and 's' or '')
|
return '%s %s%s' % (formatThousands(number), longName, number != 1 and 's' or '')
|
||||||
prefix = ['K', 'M', 'G', 'T', 'P']
|
prefix = ['K', 'M', 'G', 'T', 'P']
|
||||||
for i in range(5):
|
for i in range(5):
|
||||||
if number < math.pow(1024, i + 2) or i == 4:
|
if abs(number) < math.pow(1024, i + 2) or i == 4:
|
||||||
n = number / math.pow(1024, i + 1)
|
n = number / math.pow(1024, i + 1)
|
||||||
return '%s %s%s' % (formatThousands('%.*f' % (i, n)), prefix[i], shortName)
|
return '%s %s%s' % (formatThousands('%.*f' % (i, n)), prefix[i], shortName)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue