This question has been flagged
2 Replies
52781 Views

Hello I am trying to print the account.move model, and all is ok, but I need that the numbers appear like money "1,465.00", i can't show thtat with the to=housand separator and the 2 decimals.

Can someone help me and say me how.

This is the form that i am using for call the element: <t t-esc="line.credit" />

Avatar
Discard
Author Best Answer

I have solved that. If someone help this:

      <t t-esc="'{0:,.2f}'.format(int(line.credit))" />

Avatar
Discard

Could you please elaborate on what {0:,.2f}'.format(int(line.credit)) means?

Good answer, work like a charm

Hi Javier Batres

Thanks for your answer is really helpful. Is there a way to change the type of the format you choose (instead of "," I want to use space " ". Instead of "." I want to use ",")

I'm still waiting for your answer, thanks in advance

Hi Othman you can use .replace

<t t-esc="'{0:,.2f}'.format(int(line.credit)).replace(',', ' ')" />

Best Answer

you don't need to hard code your report with a specific format. so you can use the built in formats of odoo to support multi currency. as the following example

<t t-field="line.credit" t-field-options='{"widget": "monetary", "display_currency": "o.currency_id"}' />

also you need to check & make sure about the following settings that match your need

Settings -> Translations -> Languages -> 'your language settings'

seperator format should be something like [3,0]

for more info go to http://openerp-server.readthedocs.org/en/latest/06_ir_qweb.html

Avatar
Discard

does this work only for Monetary type field?