国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

asp.net+js實現金額格式化

2019-11-20 13:05:28
字體:
來源:轉載
供稿:網友

根據用戶需求,在輸入金額時要格式化,即每三位數字加逗號分隔,并保留兩位小數。

考慮到用戶的體驗,隨使用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("-")”的判斷。

關于金額的格式化問題,經常遇到這種事情,覺得這個還可以,也就留著,以供以后查閱方便!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 台中市| 丽江市| 湖北省| 图们市| 吉隆县| 化德县| 温州市| 榕江县| 奉新县| 屏山县| 宣威市| 玉屏| 西城区| 太仆寺旗| 邛崃市| 蓝山县| 东安县| 漳浦县| 满城县| 思南县| 抚州市| 隆安县| 铜鼓县| 如皋市| 潮州市| 饶阳县| 招远市| 大方县| 丹凤县| 英吉沙县| 廉江市| 浦北县| 东宁县| 扎鲁特旗| 中牟县| 海兴县| 南京市| 开平市| 东源县| 大厂| 南乐县|