String formatting with fixed width
Steve Holden
steve at holdenweb.com
Fri Mar 16 10:04:50 EDT 2007
Steve Holden wrote:
> Alexander Eisenhuth wrote:
>> Hello alltogether,
>>
>> is it possible to format stings with fixed width of let's say 7 character. T
>> need a floating point with 3 chars before dot, padded with ' ' and 3 chars after
>> dot, padded with '0'.
>>
>> Followingh is my approach
>> >>> f = 21.1
>> >>> s = "%.03f" % f
>> >>> s
>> '21.100'
>>
>> But there are missing ' '. How can I get that? (For bigger numbers than 999 they
>> might be cut: 1021 -> 021)
>>
> >>> def f(x):
> ... return "%7.3f" % (x % 1000.0)
> ...
> >>> for x in (9.9, 99.9, 999.9, 9999.9):
> ... print f(x)
> ...
> 9.900
> 99.900
> 999.900
> 999.900
> >>>
>
... but (unfortunately?):
>>> f(-9999.99)
' 0.010'
>>>
You don't say what you want to do about negative numbers, so this may or
may not be significant.
regards
Steve
--
Steve Holden +44 150 684 7255 +1 800 494 3119
Holden Web LLC/Ltd http://www.holdenweb.com
Skype: holdenweb http://del.icio.us/steve.holden
Blog of Note: http://holdenweb.blogspot.com
See you at PyCon? http://us.pycon.org/TX2007
More information about the Python-list
mailing list