Goldthwaite, Joe wrote:
Anyone know how to get a number rounded to a whole number and formatted with commas between the thousands and parens around negative numbers?
In other words, how to get this; -1234567.55 To this: (1,234,568)
I can see in The Zope Book that you can use Python string formats like;
<p tal:content="python:'%0.0f' % item.YTDCurrent")
That rounds it to the nearest dollar but I can't find where to put the parens and commas.
Hi, Joe thousands_commas is already available in zope. So, you can make a Script (python) that looks something like: script name: nearest_dollar_thousands_commas_negative_parens param : aVal #round-off, do thousands_commas and put parens around it if negative from Products.PythonScripts.standard import thousands_commas zero = 0.0 if not same_type(aVal,zero): aVal = float(aVal) rounded = '%0.0f' % aVal isNegative = aVal < zero and not float(rounded) == zero v = thousands_commas(rounded).replace('-','') if isNegative: v = '(%s)' % (v) return v Then call it: <p tal:content= "python:context.nearest_dollar_thousands_commas_negative_parens(item.YTDCurrent) -- Jim Washington