From 9c2fc5014efb25afcf6d10ca2a5a8cf86502dca5 Mon Sep 17 00:00:00 2001 From: j <0x006A@0x2620.org> Date: Tue, 19 May 2009 12:04:22 +0200 Subject: [PATCH] format number should also format negative values --- oxlib/format.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/oxlib/format.py b/oxlib/format.py index 62bd1ca..8d7aae6 100644 --- a/oxlib/format.py +++ b/oxlib/format.py @@ -85,12 +85,15 @@ def formatNumber(number, longName, shortName): >>> formatNumber(1234567890123456789, 'Byte', 'B') '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 '') prefix = ['K', 'M', 'G', 'T', 'P'] 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) return '%s %s%s' % (formatThousands('%.*f' % (i, n)), prefix[i], shortName)