当前位置: 首页 > 编程笔记 >

asp.net+js实现金额格式化

干稳
2023-03-14
本文向大家介绍asp.net+js实现金额格式化,包括了asp.net+js实现金额格式化的使用技巧和注意事项,需要的朋友参考一下

根据用户需求,在输入金额时要格式化,即每三位数字加逗号分隔,并保留两位小数。

考虑到用户的体验,随使用JS对金额进行格式化,前台代码如下:


<asp:TextBox ID="txtAmount" runat="server" onkeypress="check()" onkeyup="run(this)"></asp:TextBox>

JS代码如下:


//======检查输入的是否为数字

function check() {

    if (!((window.event.keyCode >= 48 && window.event.keyCode <= 57) || window.event.keyCode == 46 || window.event.keyCode == 45)) {

        window.event.keyCode = 0

    }

}

//======格式化文本框的金额

function run(obj) {

    var objvalue = obj.value.replace(/[,]/g, ""),

        objlength = objvalue.length,

        dtmp = objvalue.indexOf("."),

        neg = objvalue.indexOf("-");

    var inttmp = 0,

        floattmp = -1;

    if (dtmp != -1) {

        inttmp = dtmp == 0 ? "0" : new String(objvalue).substring(0, dtmp);

        floattmp = new String(objvalue).substring(dtmp + 1, objlength + 1);

        floattmp = floattmp.replace(/[^0-9]/g, "");

    }

    else {

        inttmp = objvalue;

    }

    if (neg == 0) {

        inttmp = inttmp.replace(/[-]/g, "");

    }

    inttmp = inttmp.replace(/[^0-9]/g, "");

    var tmp = "", str = "0000";

    for (; inttmp.length > 3; ) {

        var temp = new String(inttmp / 1000);

        if (temp.indexOf(".") == -1) {

            tmp = ",000" + tmp;

            inttmp = temp;

        }

        else {

            var le = new String(temp).split(".")[1].length;

            tmp = "," + new String(temp).split(".")[1] + str.substring(0, 3 - le) + tmp;

            inttmp = new String(temp).split(".")[0];

        }

    }

    inttmp = inttmp + tmp;

    obj.value = neg == 0 ? "-" + inttmp + runing(floattmp) : inttmp + runing(floattmp);

}

//======整理小数部分

function runing(val) {

    if (val != "-1" && val != "") {

        var valvalue = 0 + "." + val;

        if (val.length >= 2) {

            valvalue = parseFloat(valvalue).toFixed(2);

        }

        var temp = "." + valvalue.split(".")[1];

        return temp;

    }

    else if (val != "0" && val == "") {

        return ".";

    }

    else {

        return "";

    }

}

同时因为金额可输入负数,所以加上“neg = objvalue.indexOf("-")”的判断。

关于金额的格式化问题,经常遇到这种事情,觉得这个还可以,也就留着,以供以后查阅方便!

 类似资料:
  • 本文向大家介绍js实现人民币大写金额形式转换,包括了js实现人民币大写金额形式转换的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了js实现金额转大写的相关代码,供大家参考,具体内容如下 以上就是本文的全部内容,希望对大家学习javascript程序设计有所帮助。

  • 本文向大家介绍写一个格式化金额的方法相关面试题,主要包含被问及写一个格式化金额的方法时的应答技巧和注意事项,需要的朋友参考一下 为啥题目描述总这么含糊不清。。。 如果是格式成三位一逗的话 感谢 @SCLeoX 提醒 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/NumberForma

  • 本文向大家介绍用js实现小写金额转大写的方法相关面试题,主要包含被问及用js实现小写金额转大写的方法时的应答技巧和注意事项,需要的朋友参考一下

  • 本文向大家介绍使用js实现数据格式化,包括了使用js实现数据格式化的使用技巧和注意事项,需要的朋友参考一下 格式化是通过格式操作使任意类型的数据转换成一个字符串。例如下面这样 下面是一个完整的代码,可以复制到自己的项目中。

  • 本文向大家介绍js实现最短的XML格式化工具实例,包括了js实现最短的XML格式化工具实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了js实现最短的XML格式化工具的方法。分享给大家供大家参考。具体如下: 这是用 E4X 实现最短的 XML 格式化工具。可惜 IE 至今不支持这个标准特性... 请在 Firefox 或 Chrome 下运行! 1.代码如下: 2. 格式化之前: 3.

  • 本文向大家介绍JS 数字转换为大写金额的简单实例,包括了JS 数字转换为大写金额的简单实例的使用技巧和注意事项,需要的朋友参考一下 JS 数字转换为大写金额的简单实例 以上这篇JS 数字转换为大写金额的简单实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。