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)
odoo中Python实现小写金额转换为大写金额的更多相关文章
- C#:小写金额转换为大写
#region 小写金额转换为大写 public static string CurrToChnNum(double Currnum) { string sResult = ""; ...
- Excel小写金额转大写金额公式
=IF(ROUND(A6,2)<0,"无效数值",IF(ROUND(A6,2)=0,"零",IF(ROUND(A6,2)<1,"" ...
- ORACLE 小写金额转大写金额
Create Or Replace Function Money2Chinese(Money In Number) Return Varchar2 Is strYuan Varchar2(); str ...
- js 人民币小写金额转换为大写
function smalltoBIG(n) { var fraction = ['角', '分']; var digit = ['零', '壹', '贰', '叁', '肆', '伍', '陆', ...
- JS将人民币小写金额转换为大写
/** 数字金额大写转换(可以处理整数,小数,负数) */ function smalltoBIG(n) { var fraction = ['角', '分']; var digit = ['零', ...
- java将小写金额转换为大写的工具类
public class Tool { private static final String UNIT = "万千佰拾亿千佰拾万千佰拾元角分"; ...
- C#实现阿拉伯数字(小写金额)到大写中文(大写金额)的转换
/// <summary> /// 本类实现阿拉伯数字到大写中文的转换 /// 该类没有对非法数字进行判别,请事先自己判断数字是否合法 /// </summary& ...
- 利用Python的三元表达式解决Odoo中工资条中城镇、农村保险的问题
Python中没有像C#中有三元表达式 A?B:C 但在python中可以通过 A if condition else B 的方式来达到同样的效果. 例如 : 1 if True else 0 输出 ...
- JS实现 阿拉伯数字金额转换为中文大写金额 可以处理负值
JS实现 阿拉伯数字金额转换为中文大写金额 可以处理负值 //************************* 把数字金额转换成中文大写数字的函数(可处理负值) ****************** ...
随机推荐
- java-信息安全(十一)-非对称加密算法ECC
概述 信息安全基本概念: ECC算法(Elliptic curve cryptography,椭圆曲线密码学) ECC 椭圆加密算法(ECC)是一种公钥加密体制,最初由Koblitz和Miller两人 ...
- linux 斜杠/
inux OS: 使用”/“ 例子:/home/user/XXX 特例:路径中某目录名包含空格,在命令行中使用cd等命令书写路径时,则要在空格前加”\“ 例子: 主目录(/home/student ...
- [Artoolkit] Marker Training
Link: Documentation About the Traditional Template Square Marker Limitations (重要) Traditional Templa ...
- 【代码审计】XYHCMS V3.5任意文件删除漏洞分析
0x00 环境准备 XYHCMS官网:http://www.xyhcms.com/ 网站源码版本:XYHCMS V3.5(2017-12-04 更新) 程序源码下载:http://www.xyhc ...
- shell join详解
首先贴一个,join --help Usage: join [OPTION]... FILE1 FILE2 For each pair of input lines with identical jo ...
- Kubernetes – Ingress
用户在 Kubernetes 上部署的服务一般运行于私有网络,Pod和Service 提供了 hostPort,NodePort等参数用于暴露这些服务端口到K8S节点上,供使用者访问.这样的方法有明显 ...
- python-Levenshtein几个计算字串相似度的函数解析
linux环境下,没有首先安装python_Levenshtein,用法如下: 重点介绍几个该包中的几个计算字串相似度的几个函数实现. 1. Levenshtein.hamming(str1, str ...
- css sprite---css精灵网页图片应用处理方式分析
CSSSprites,在前端图片处理中经常用到的一种高效方法,下面参考百度百科的总结,非常到位,学习一下吧! CSSSprites在国内很多人叫css精灵,是一种网页图片应用处理方式.它允许你将一个页 ...
- day_6.6 py
Tftp 下载器演示 2018-6-6 14:11:09 #!/usr/bin/env python #!--*--coding:utf-8 --*-- #!@Time :2018/6/6 11:55 ...
- thinkphp或thinkcmf 《文章编辑,文章添加》 访问另一个表的分类,添加入另一个表时将id值以(,)逗号分隔储存,编辑时以(,)逗号分隔并且相等的id值被选中
首页 显示 的控制器//网贷评级 public function grade(){ $archives = $this->archives_model->where(array('de ...