简体   繁体   English

将数字转换为字母

[英]COnvert number to letter

i had install module num2words this is my code : 我已经安装了num2words模块,这是我的代码:

from num2words import num2words

class HrHolidays(models.Model): _inherit = 'hr.holidays' 类HrHolidays(models.Model):_inherit ='hr.holidays'

interim = fields.Many2one(
    'hr.employee',
    string="Interim")
partner_id = fields.Many2one('res.partner', string="Customer")
remaining_leaves = fields.Integer(compute='_get_remaining_days', string='Leaves')  
number_text=fields.Char(string='Nombre de jour')


@api.multi
def _get_remaining_days(self, name, args):
    res = super(HrHolidays, self)._get_remaining_days(name, args)
    return res

def calculatenumber(self, number_of_days_temp,lang='fr'):
    number_text = num2words(number_of_days_temp,lang)
    return {'value': {'number_text': number_text}}

.xml .xml

             <xpath expr="//field[@name='interim']" position="after">
                      <field name="number_of_days_temp" nolabel="1"  on_change="calculatenumber(number_of_days_temp)"/>

     </xpath>
        <field name="number_of_days_temp" position="after">
            <field name="number_text"/>
        </field>

i got this error i dont know how to solve it 我收到此错误,我不知道如何解决 在此处输入图片说明

verify the definition of the function 验证功能的定义

def calculatenumber(self,cr, uid, ids,number_of_days_temp, context=None):
    number_text = num2words(number_of_days_temp,lang='fr')
    return {'value': {'number_text': number_text}}

or you can use the new api 或者您可以使用新的API

@api.onchange('number_of_days_temp')
def calculatenumber(self):
    self.number_text = num2words(self.number_of_days_temp,lang='fr')

then you must remove on_change="calculatenumber(number_of_days_temp)" from your XML view 那么您必须从XML视图中删除on_change="calculatenumber(number_of_days_temp)"

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM