[Python-de] Tausenderpunkt

Bertram Scharpf lists at bertram-scharpf.de
Don Dez 2 15:37:11 CET 2004


Hallo,

Am Donnerstag, 02. Dez 2004, 12:10:54 +0100 schrieb Hans-Peter Jansen:
> Wo wir schon mal dabei sind, hat jemand dafür 'ne bessere Lösung:
> 
> def fquant(val, prec=2):
>     """ format data quantities in human readable form """
>     for l, q in (( "TB", 1024L * 1024L * 1024L * 1024L ),
>                  ( "GB", 1024L * 1024L * 1024L ),
>                  ( "MB", 1024L * 1024L ),
>                  ( "KB", 1024L ),
>                  ( "B",  1L )):
>         if val >= q:
>             break
>     v = float(val)/q
>     fs = "%%.%02df %%s" % prec
>     return (fs % (v, l))

Darf ich nochmal?

    v=' KMGT'
    def hmrd( x):
        ord = 1024.
        i = 0
        while x > ord:
            x /= ord
            i += 1
        return '%7.2f%cB' % (x, v[i])

Bertram

-- 
Bertram Scharpf
Stuttgart, Deutschland/Germany
http://www.bertram-scharpf.de