zoukankan      html  css  js  c++  java
  • js 数字,金额 用逗号 隔开。数字格式化

    http://www.cnblogs.com/hsapphire/archive/2011/03/07/1973374.html

     
    例如: 
    12345格式化为12,345.00 
    12345.6格式化为12,345.60 
    12345.67格式化为 12,345.67 
    只留两位小数。 

    回来后写了个格式化函数。可以控制小数位数,自动四舍五入。 

    代码如下: 
    引用

    function fmoney(s, n)   
    {   
       n = n > 0 && n <= 20 ? n : 2;   
       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;   


    调用:fmoney("12345.675910", 3),返回12,345.676 

    还原函数: 
    引用

    function rmoney(s)   
    {   
       return parseFloat(s.replace(/[^\d\.-]/g, ""));   


    示例(可保存一下代码为html文件,运行查看效果): 
    引用

    <SCRIPT>   
    function fmoney(s, n)   
    {   
       n = n > 0 && n <= 20 ? n : 2;   
       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;   
    }   
    function rmoney(s)   
    {   
       return parseFloat(s.replace(/[^\d\.-]/g, ""));   
    }   
    function g(id)   
    {   
       return document.getElementById(id);   
    }   
    window.onload = function()   
    {   
       var num,   
       txt = g("txt"),   
       txt2 = g("txt2"),   
       btn = g("btn"),   
       btn2 = g("btn2"),   
       span = g("span");   
       btn.onclick = function()   
       {   
          num = parseInt(g("num").value);   
          txt.value = fmoney(txt.value, num);   
          txt2.value = fmoney(txt2.value, num);   
       }   
       ;   
       btn2.onclick = function()   
       {   
          num = parseInt(g("num").value);   
          span.innerHTML = "=" + fmoney(rmoney(txt.value) + rmoney(txt2.value), num);   
       }   
       ;   
    }   
    ;   
    </SCRIPT>   
    小数点位数:   
    <select id="num">   
    <option value="2">2</option>   
    <option value="3">3</option>   
    <option value="4">4</option>   
    <option value="5">5</option>   
    </select>   
    <input type="text" id="txt" value="12345.675910"> +   
    <input type="text" id="txt2" value="1223"> <span id="span"></span>   
    <br>   
    <input type="button" id="btn" value="格式化">   
    <input type="button" id="btn2" value="相加">
  • 相关阅读:
    pdf文件怎么转换成word文档
    数据库的发展历程
    数据库的三级模式
    数据库概述
    时间序列的自回归模型—从线性代数的角度来看
    数据清洗
    sql commit的三种方式
    数据库标准语言SQL((Structured Query Language)
    正则化推导转载
    leetcode刷题
  • 原文地址:https://www.cnblogs.com/guke/p/3022627.html
Copyright © 2011-2022 走看看