format - Python - convert to string with formatter as parameter -
i trying write function takes 2 arguments:
- an object
- a formatter string (as specified in docs)
which returns formatted string: tried sort of:
def my_formatter(x, form): return str(x).format(form)
what expecting is:
s = my_formatter(5, "%2f") # s = 05 t = my_formatter(5, "%.2") # t = 5.00
etc...
the format function unfortunately not work that. ideas?
for style of formatting you'd have use string % values
string formatting operation:
def my_formatter(x, form): return form % x
you'd have alter format; 05
you'd have use "%02d"
, not "%2f"
.
you getting confused str.format()
method, uses different formatting syntax, and got arguments swapped; you'd use form.format(x)
instead.
you want built-in format()
function here; syntax different, offers more features:
>>> format(5, '02d') '05' >>> format(5, '.2f') '5.00'
that's pretty close using, minus %
.
Comments
Post a Comment