pythontrue大写_odoo中Python实现小写金额转换为大写金额

自动将小写的金额数值转换为大写,方便记录

class project_parm(models.Model):

def IIf(self, b, s1, s2):

if b:

return s1

else:

return s2

def num2chn(self,nin=None):

cs =('零','壹','贰','叁','肆','伍','陆','柒','捌','玖','◇','分','角','圆','拾','佰','仟','万','拾','佰','仟','亿','拾','佰','仟','万')

st = ''

st1=''

s = '%0.2f' % (nin)

sln =len(s)

if sln >15:

return None

fg = (nin<1)

for i in range(0, sln-3):

ns = ord(s[sln-i-4]) - ord('0')

st= self.IIf((ns==0)and(fg or (i==8)or(i==4)or(i==0)), '', cs[ns]) + self.IIf((ns==0)and((i<>8)and(i<>4)and(i<>0)or fg and(i==0)),'', cs[i+13])+ st

fg = (ns==0)

fg = False

for i in [1,2]:

ns = ord(s[sln-i]) - ord('0')

st1 = self.IIf((ns==0)and((i==1)or(i==2)and(fg or (nin<1))), '', cs[ns])+ self.IIf((ns>0), cs[i+10], self.IIf((i==2) or fg, '', '整'))+ st1

fg = (ns==0)

st.replace('亿万','万')

return self.IIf( nin==0, '零', st + st1)

amount_in_figures = fields.Float(string='项目金额', digits=(16, 2), required=True)

amount_in_words = fields.Char(string='大写金额', readonly=True)

@api.model

def create(self, vals):

vals['amount_in_words'] = self.num2chn(vals['amount_in_figures'])

return super(project_parm, self).create(vals)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值