热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:财务金额大小写转换

//==========================财务流程,货币小写转换为大写========【开始】==================

//==========================财务流程,货币小写转换为大写========【开始】===============================================
//对应数据库【LR_Form_SchemeInfo】的F_Id
//二位数组定义:["表单名称/编号","小写金额标识","大写金额标识"]
//表单名称:对应【表单设计】中的名称,而非流程
/*
var needTransForm = new Array(
["21.费用报销流程(股份)", "报销金额(元)","报销金额大写"],
["22.差旅费报销流程(股份)", "费用总额(元)","总费用(大写)"],
["23.支出单办理流程(股份)", "支出金额(元)", "支出金额大写"],
["24.借款单(股份)", "借款金额(元)", "借款金额大写"],
["25.通讯费报销流程(股份)", "报销金额(元)", "报销金额大写"],
["26.客户极速退款流程(股份)", "支出金额(元)", "支出金额大写"],
["27.客户极速退款流程(科技)", "支出金额(元)", "支出金额大写"],
["28.客户常规退款流程(股份)", "支出金额(元)", "支出金额大写"],
["29.客户常规退款流程(科技)", "支出金额(元)", "支出金额大写"]
);
**/
var flag_CurrencyTransformation = "CWBD_CurrencyTransformation";
var smallControl;//小写控件
var bigControl;//大写控件
var CurrencyTransformatiOnFromSamllToBig= {
//是否包含
IsInclude: function (formName) {
var lstResult = CommonMethod.GetSettingByCode(flag_CurrencyTransformation);
if (!lstResult)
return null;
var targetItem;//选中的目标数据
for (var i = 0; i if (lstResult[i].Item1 == formName) {
targetItem = lstResult[i];
break;
}
}
return targetItem;
/*
for (var i = 0; i if (needTransForm[i][0] == formName) {
currSamllCOntrolFlagIndex= i;
break;
}
}
return currSamllControlFlagIndex > -1;
*/
},
//执行
Excute: function (formName) {
smallCOntrol= null;
bigCOntrol= null;
//根据表单名称,获取表单对应的配置信息
var targetItem = CurrencyTransformationFromSamllToBig.IsInclude(formName);
if (!targetItem)
return;
if ((!targetItem.Item2) || (!targetItem.Item3)) {
console.log(targetItem.Item1 + ",缺少Item2或Item3的配置。(Item2配置小写控件,Item3配置大写控件)");
return;
}
//找到小写金额和大写控件,并改变控件ID
smallCOntrol= CommonMethod.FindControl(targetItem.Item2, 1);
bigCOntrol= CommonMethod.FindControl(targetItem.Item3, 1);
if (smallControl && bigControl) {
//改变ID
// $(smallControl).attr("id", "smallCurrency");
// $(bigControl).attr("id", "bigCurrency");
$(smallControl).attr("oninput", "CurrencyTransformationFromSamllToBig.CurrencyTransformation()")
}
else {
console.log("没有寻找到小写控件或大写控件。请检查表单和多维字典中对表单的配置。");
}
//console.log($(‘#smallCurrency‘).val());
},
//货币转换:由小写转换为大写
CurrencyTransformation: function () {
var smallVal = $(smallControl).val();
var bigVal = CurrencyTransformationFromSamllToBig.smalltoBIG(smallVal);
CommonMethod.SetControlVal($(bigControl), bigVal)
},
/** 数字金额大写转换(可以处理整数,小数,负数) */
smalltoBIG: function (n) {
var fraction = [‘角‘, ‘分‘];
var digit = [‘零‘, ‘壹‘, ‘贰‘, ‘叁‘, ‘肆‘, ‘伍‘, ‘陆‘, ‘柒‘, ‘捌‘, ‘玖‘];
var unit = [[‘元‘, ‘万‘, ‘亿‘], [‘‘, ‘拾‘, ‘佰‘, ‘仟‘]];
var head = n <0 ? ‘欠‘ : ‘‘;
n = Math.abs(n);
var s = ‘‘;
for (var i = 0; i s += (digit[Math.floor(n * 10 * Math.pow(10, i)) % 10] + fraction[i]).replace(/零./, ‘‘);
}
s = s || ‘整‘;
n = Math.floor(n);
for (var i = 0; i 0; i++) {
var p = ‘‘;
for (var j = 0; j 0; j++) {
p = digit[n % 10] + unit[1][j] + p;
n = Math.floor(n / 10);
}
s = p.replace(/(零.)*零$/, ‘‘).replace(/^$/, ‘零‘) + unit[0][i] + s;
}
return head + s.replace(/(零.)*零元/, ‘元‘).replace(/(零.)+/g, ‘零‘).replace(/^整$/, ‘零元整‘);
}
}
//==========================财务流程,货币小写转换为大写=========【结束】==============================================

  


推荐阅读
  • 本文整理了Java中org.apache.solr.common.SolrDocument.setField()方法的一些代码示例,展示了SolrDocum ... [详细]
  • 总结一下C中string的操作,来自〈CPrimer〉第四版。1.string对象的定义和初始化:strings1;空串strings2(s1);将s2初始 ... [详细]
  • 本文介绍了使用readlink命令获取文件的完整路径的简单方法,并提供了一个示例命令来打印文件的完整路径。共有28种解决方案可供选择。 ... [详细]
  • C语言的经典程序有哪些
    本篇内容介绍了“C语言的经典程序有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何 ... [详细]
  • 本文介绍了设计师伊振华受邀参与沈阳市智慧城市运行管理中心项目的整体设计,并以数字赋能和创新驱动高质量发展的理念,建设了集成、智慧、高效的一体化城市综合管理平台,促进了城市的数字化转型。该中心被称为当代城市的智能心脏,为沈阳市的智慧城市建设做出了重要贡献。 ... [详细]
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
  • 标题: ... [详细]
  • 本文讨论了如何使用Web.Config进行自定义配置节的配置转换。作者提到,他将msbuild设置为详细模式,但转换却忽略了带有替换转换的自定义部分的存在。 ... [详细]
  • 本文介绍了使用C++Builder实现获取USB优盘序列号的方法,包括相关的代码和说明。通过该方法,可以获取指定盘符的USB优盘序列号,并将其存放在缓冲中。该方法可以在Windows系统中有效地获取USB优盘序列号,并且适用于C++Builder开发环境。 ... [详细]
  • 利用空间换时间减少时间复杂度以及以C语言字符串处理为例减少空间复杂度
    在处理字符串的过程当中,通常情况下都会逐个遍历整个字符串数组,在多个字符串的处理中,处理不同,时间复杂度不同,这里通过利用空间换时间等不同方法,以字符串处理为例来讨论几种情况:1: ... [详细]
  • vue使用
    关键词: ... [详细]
  • 成功安装Sabayon Linux在thinkpad X60上的经验分享
    本文分享了作者在国庆期间在thinkpad X60上成功安装Sabayon Linux的经验。通过修改CHOST和执行emerge命令,作者顺利完成了安装过程。Sabayon Linux是一个基于Gentoo Linux的发行版,可以将电脑快速转变为一个功能强大的系统。除了作为一个live DVD使用外,Sabayon Linux还可以被安装在硬盘上,方便用户使用。 ... [详细]
  • 深度学习中的Vision Transformer (ViT)详解
    本文详细介绍了深度学习中的Vision Transformer (ViT)方法。首先介绍了相关工作和ViT的基本原理,包括图像块嵌入、可学习的嵌入、位置嵌入和Transformer编码器等。接着讨论了ViT的张量维度变化、归纳偏置与混合架构、微调及更高分辨率等方面。最后给出了实验结果和相关代码的链接。本文的研究表明,对于CV任务,直接应用纯Transformer架构于图像块序列是可行的,无需依赖于卷积网络。 ... [详细]
  • 合并列值-合并为一列问题需求:createtabletab(Aint,Bint,Cint)inserttabselect1,2,3unionallsel ... [详细]
  • GPT-3发布,动动手指就能自动生成代码的神器来了!
    近日,OpenAI发布了最新的NLP模型GPT-3,该模型在GitHub趋势榜上名列前茅。GPT-3使用的数据集容量达到45TB,参数个数高达1750亿,训练好的模型需要700G的硬盘空间来存储。一位开发者根据GPT-3模型上线了一个名为debuid的网站,用户只需用英语描述需求,前端代码就能自动生成。这个神奇的功能让许多程序员感到惊讶。去年,OpenAI在与世界冠军OG战队的表演赛中展示了他们的强化学习模型,在限定条件下以2:0完胜人类冠军。 ... [详细]
author-avatar
Y_虞儿
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有