`
romantictravel
  • 浏览: 16049 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

金额分割

阅读更多
/**
* @author tc
* 引入jquery.js
* 引入money.js  charset="utf-8" --        注意引入时指定编码,因为ie6不能自动识别
* <input class="money"/> 默认使用万元格式化,整数位数8,小数位数6
* <input class="money" leftLen="2" rightLen="2"/>整数位数2,小数位数2
* 如果使用struts标签,后面两个属性不能有 class要改成styleClass
* 提交数据还原成数字使用rvalue方法
* */
//格式话金额
function formatValue(s, n)//将数字转换成逗号分隔的样式,保留两位小数s:value,n:小数位数
{
    if(isNaN(s))s=0;
    n = n > 0 && n <= 20 ? n : 6;
    s = parseFloat((s + "").replace(/[^\d\.-]/g, "")).toFixed(n) + "";
    var l = s.split(".")[0].split("").reverse(),
    r = s.split(".")[1];
    t = "";
    for(i = 0; i < l.length; i ++ )
    {
    t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != l.length ? "," : "");
    }
    return (t.split("").reverse().join("") + "." + r).replace("-,","-");
}
//还原金额
function rvalue(s)
{
    return parseFloat(s.replace(/[^\d\.-]/g, ""));
}
function clearNoNum(event,obj)
{
//响应鼠标事件,允许左右方向键移动
event = window.event||event;
if(event.keyCode == 37 | event.keyCode == 39){
return;
}
//先把非数字的都替换掉,除了数字和.
if(obj.value.indexOf('-')==0)
obj.value = "-"+obj.value.replace(/[^\d.]/g,"");
else
obj.value =obj.value.replace(/[^\d.]/g,"");
//必须保证第一个为数字而不是.
obj.value = obj.value.replace(/^\./g,"");
//保证只有出现一个.而没有多个.
obj.value = obj.value.replace(/\.{2,}/g,".");
//保证.只出现一次,而不能出现两次以上
obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$",".");
}
jQuery(function (){
   autoMoney();
})

function fmoney(obj)
{
     var leftLen=obj.attr("leftLen");
var rightLen=obj.attr("rightLen");
if(leftLen==undefined ||isNaN(leftLen)){leftLen=8;}
if(rightLen==undefined ||isNaN(rightLen)){rightLen=6;}
     if(obj.val()=="" || obj.val()==undefined)obj.val("0");
var obj_value=rvalue(obj.val()).toFixed(rightLen);
var index=obj_value.indexOf('.');
if(index==-1)
{
var allLen=obj_value.length;
if(allLen>leftLen)
{
   //obj_value="0";
   alert("金额过大");
}
}else
{
var _ary=obj_value.split('.');
var _len=_ary[0].length;
var _ren=_ary[1].length ;
if(_len>leftLen)
{
   //_ary[0]="0";
   alert("金额过大");
}
if(_ren>rightLen)
   _ary[1]=_ary[1].substring(0,_ren);
obj_value=parseFloat(_ary[0]+"."+_ary[1]);
}
         return formatValue(obj_value,rightLen);
}
function autoMoney()
{
jQuery(".money").each(function (){
jQuery(this).css("text-align","right");
jQuery(this).focus(function (){this.value=rvalue(this.value)});
jQuery(this).blur(function (){this.value=fmoney(jQuery(this))});
jQuery(this).keyup(function (){clearNoNum(event,this)});
             this.value=fmoney(jQuery(this));
})
}

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    数字金额分割

    在IT行业中,数字金额分割是一种常见的需求,尤其是在财务软件、电子商务平台或任何处理货币值的应用中。这个"数字金额分割"的Demo提供了一个便捷的解决方案,可以将数字金额按照特定格式进行分隔,使得数值更易读,...

    财务金额栏cxGrid

    "财务金额栏cxGrid"是专为Delphi开发者设计的一款控件,用于高效地处理和显示财务数据。cxGrid是一个功能强大的网格组件库,它提供了一种灵活的方式来呈现和编辑表格数据,特别适合于财务应用中的金额数据管理。 ...

    SAP凭证分割.pdf

    在结算过程中,系统会自动按照这一比例将发票金额分割成两个部分,并分别记录在相应的账户中。这种分割只在总账视图中可见。 - **主动分割示例**:在一个内部转账过程中,若需要从一个成本中心转移到另一个成本中心...

    C#-WinForm(金额转大写金额)

    2. 分割金额:根据小数点将金额分割为整数部分和小数部分。 3. 整数部分转换: - 将整数部分从后往前遍历,每次处理一位数字。 - 使用switch语句或if...else if...结构,根据数字的值输出对应的中文字符。 - ...

    VB编写的金额转换例子

    这个VB程序示例可能包含以下几个关键部分:数字到汉字的映射数组,金额分割逻辑,以及根据规则拼接字符串的代码。通过学习和理解这个例子,开发者可以掌握如何在实际项目中应用类似的转换功能。 在压缩包中的“金额...

    JS小写金额变成大写

    1. **金额分割**:首先将金额按照小数点分为整数部分和小数部分。 ```javascript vara = (" " + num).replace(/(^0*)/g, "").split("."); ``` 2. **整数部分处理**:对整数部分的每一位进行处理,根据位置添加...

    C#金额从小写转为大写

    2. **金额分割**:将输入金额按照小数点分为整数部分和小数部分进行处理。 3. **整数部分转换**:实现将整数部分转换为汉字大写的功能。 4. **小数部分转换**:实现将小数部分转换为汉字大写的功能。 5. **组合结果*...

    金额大小写转换vc++

    3. **金额分割**:将字符串按四位一截断,形成各个“级”的数字,注意处理边界情况,如不足四位的零尾部。 4. **大小写转换**:遍历每个“级”的数字,根据数字对应的中文大写进行替换。这里需要创建一个映射表,将...

    用Jscript编写的人民币小写转大写代码。

    1. **金额分割**:将金额分为整数部分和小数部分,如"123456"和".78"。 2. **整数转换**:根据中文大写数字的规则,将整数部分转换为对应的中文字符,例如"1"对应"壹","2"对应"贰",以此类推。同时处理特殊的千、万...

    c#格式化数字

    在C#中,格式化数字是一项非常实用的功能,它能够帮助开发者按照特定的要求来展示数值。根据提供的代码示例,我们可以总结出以下关于C#中数字格式化的关键知识点: ### 1. 使用`string.Format()`方法进行格式化 ...

    申请银行承兑汇票的情况说明.docx

    背书可以设定“托付收款”或“质押”字样,但不得附带条件,且不得将汇票金额分割转让。汇票正面注明“不得转让”的,不得进行背书转让,否则相应的背书人不承担保证责任。 5. **票据责任**: 当汇票被拒绝付款或...

    SAP FICO 凭证分割

    在SAP系统中,可以设置基于总金额的拆分,或者基于特定条件(如成本中心、内部订单等)的拆分。 凭证拆分规则是整个凭证分割功能的核心,它包括了一系列拆分条件和动作,用于指导系统如何将原始凭证拆分成具体的子...

    易语言正则金额分隔源码-易语言

    本篇将详细讲解易语言正则金额分隔源码的相关知识,以及如何利用它进行进阶教程的学习。 在财务或者数据处理中,我们经常需要对金额进行格式化,使其更符合人的阅读习惯,例如将连续的数字“12345678”转换为“12,...

    PHP实例开发源码—HTML5全新红包直通车网站源码(包含多款游戏已对接支付).zip

    5. 红包算法:红包分配算法是红包系统的核心部分,通常涉及到随机数生成、金额分割等数学逻辑。开发者需要确保红包的公平性和随机性。 6. 游戏对接:源码包含了多款游戏,意味着项目集成了游戏接口,可能是通过API...

    PHP微信独立红包系统开源版源码.zip

    5. **红包算法**:红包分配算法是红包系统的核心部分,涉及到随机数生成、金额分割等数学问题。常见的有平均分配、随机分配等策略。在PHP中实现这类算法需要掌握随机数生成函数和数学运算。 6. **安全性**:考虑到...

    最全会计专业术语中英文对照.doc

    21. **分期付款 (Instalment)**:将总金额分割成多次支付的安排。 22. **滞付/拖欠/尾数款未付 (Arrears)**:未能按时支付的款项。 23. **特许拖延付款日 (Days of Grace)**:给予付款人额外几天时间付款的宽限期...

    字符分割的一个很好的下程序

    在财务报表中,我们可能需要将金额从字符中提取出来,进行数学计算。这些场景均需要将数字从文本中准确地识别和分割出来。 在编程语言中实现字符分割的方法多种多样。以Python为例,split()函数是进行基本字符串...

    小写金额转大写金额(C++)

    4. 分割整数部分和小数部分,分别进行转换。 5. 对整数部分进行逐位转换,添加相应的单位。 6. 对小数部分进行处理,注意处理“零”和“无”的情况。 7. 合并整数和小数部分,形成最终的大写金额字符串。 通过以上...

    仿IE工具栏、分割条、金额小写转大写函数等

    总之,“仿IE工具栏、分割条、金额小写转大写函数等”这些知识点涵盖了用户界面设计、交互逻辑、数据处理等多个方面,对于进行桌面应用开发的程序员来说,理解和掌握这些技术对于提升软件的专业性和用户友好性具有...

    仿ie工具栏、分割条、金额小写转大写函数等

    最后,"仿ie工具栏、分割条、金额小写转大写函数等"可能是一个包含所有相关代码和资源的文件或目录。 总的来说,这些知识点涵盖了UI设计、前端开发和后端功能实现等多个领域,对于想要提升软件用户体验和开发金融...

Global site tag (gtag.js) - Google Analytics