js格式化数字

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>格式化数字</title>
</head>
<body>
<script type="text/javascript">
/**
方法一 不加千分位(整数部分最大15位,小数为最多4位)
object --文本框对象
n --保留的小数位
*/
function fmoney(object,n){
    // ^-?[0-9]+\.?[0-9]*$ 验证浮点数
    var num =  object.value;
    var start = num.indexOf(‘-‘);
    if(start == 0){
        num = num.substring(1,15);
    }else{
        num = num.substring(0,15);
    }
    num = parseFloat((num + "").replace(/[^\d\.-]/g, "")).toFixed(n) + "";
    if (isNaN(num) || ((num + "").replace(/\s/g, "")) == "") {
        object.value = "";
        return;
    }
    n = n > 0 && n <= 20 ? n : 2;
    var l = num.split(".")[0].split("").reverse(),r = num.split(".")[1],t = "";
    for(var i = 0; i < l.length; i ++ ){
      //t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != l.length ? "," : ""); //加千分位
      t += l[i];
    }
    if(start == 0){
        object.value = "-"+t.split("").reverse().join("") + "." + r;
    }else{
        object.value = t.split("").reverse().join("") + "." + r;
    }
}
/**
方法二 加千分位 (整数部分最大15位)
object --文本框对象
n --保留的小数位
*/
function simpleFormat(object,n){
    var num = object.value;
    num = num.substring(0,15);
    num = parseFloat((num + "").replace(/[^\d\.-]/g, "")).toFixed(n)+"";
    if (isNaN(num) || ((num + "").replace(/\s/g, "")) == "") {
        object.value = "";
        return;
    }
    object.value = num;
    var value = num.replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1,")
    object.value = value;
}
function rmoney(s){
   return parseFloat(s.replace(/[^\d\.-]/g, ""));
}
</script>
<input type="text" id="11" style="width:200px" onblur=‘fmoney(this,4)‘/><input type="button" value="还原" onclick="r11()"><br>
<input type="text" id="33" style="width:200px" onblur=‘simpleFormat(this,4)‘/><input type="button" value="还原" onclick="r33()">
<script type="text/javascript">
function r11(){
    var value = document.getElementById("11").value;
    alert(rmoney(value));
}
function r33(){
    var value = document.getElementById("33").value;
    alert(rmoney(value));
}
</script>
</body>
</html>
时间: 2024-10-12 20:53:37

js格式化数字的相关文章

js格式化数字实例代码

js格式化数字实例代码:数字往往需要进行一定的格式化,一来是便于阅读,二来是实际需要,比如钱数就常常按千位逗号分隔,下面就是一个这样的函数能够是此功能,并且能够保留指定书目的小数,且自动实现四舍五入效果.代码实例如下: function fmoney(s,n) { n=n>0&&n<=20?n:2; s=parseFloat((s+"").replace(/[^\d\.-]/g,"")).toFixed(n)+"";

自定义编写js格式化数字的函数

在处理网页的时候,有时候会需要显示很长的数字,但是当数字的长度比较长的时候,就很难看一个数字到底是多大.这种情况下,一些网站在处理数字的时候,当数字的长度大于3个时,就用逗号把他们分开,这是一个比较常见的方式.但是我查了一下网页上将数字用逗号分开的方法,没有找到比较满意的.于是自己写一一个,在这里分享出来: 处理目标:将超过三位的时,使用逗号将数字分隔开来 1 //////// 格式化数字,个三个数字加一个逗号 2 function geshihua(onum) { 3 ////空字符这返回原来

jQuery js 格式化数字

写程序与的时候,有些地方需要js或者jQuery取值,然后将50000000.00格式化成50,000,000.00这种形式: 首先创建formatCurrency.js,代码如下: function formatCurrency(num) { num = num.toString().replace(/\$|\,/g,''); if(isNaN(num)) num = "0"; var sign = (num == (num = Math.abs(num))); num = Math

js 格式化数字,格式化金额:

function number_format(number, decimals, dec_point, thousands_sep) { /* * 参数说明: * number:要格式化的数字 * decimals:保留几位小数 * dec_point:小数点符号 * thousands_sep:千分位符号 * */ number = (number + '').replace(/[^0-9+-Ee.]/g, ''); var n = !isFinite(+number) ? 0 : +numb

JS格式化数字(每三位加逗号)

// 方法一function toThousands(num) { var result = [ ], counter = 0; num = (num || 0).toString().split(''); for (var i = num.length - 1; i >= 0; i--) { counter++; result.unshift(num[i]); if (!(counter % 3) && i != 0) { result.unshift(','); } } retu

JS格式化数字保留两位小数点示例代码

问题:在JS中格式化数据保留两位小数的函数的多种方法 最好方法: 保留两位好像是这样吧 复制代码 代码如下: var a = 9.39393; alert(a.toFixed(2)); 说明: alert(Number.toFixed(9.39393)); 返回的是9.39 但是只有ie5.5以上的版本才支持. 其它方法: function roundFun(numberRound,roundDigit) //四舍五入,保留位数为roundDigit   {  if (numberRound>=

js 格式化数字保留2位小数

function toDecimal2(x) { var f = parseFloat(x); if (isNaN(f)) { return false; } var f = Math.round(x*100)/100; var s = f.toString(); var rs = s.indexOf('.'); if (rs < 0) { rs = s.length; s += '.'; } while (s.length <= rs + 2) { s += '0'; } return s;

Numeral.js – 格式化和操作数字的 JavaScript 库

Numeral.js 是一个用于格式化和操作数字的 JavaScript 库.数字可以格式化为货币,百分比,时间,甚至是小数,千位,和缩写格式,功能十分强大.支持包括中文在内的17种语言. 您可能感兴趣的相关文章 太赞了!超炫的页面切换动画效果[附源码下载] 创意无限!一组网页边栏过渡动画[附源码下载] 真是好东西!13种非常动感的页面加载动画效果 你见过吗?9款超炫的复选框(Checkbox)效果 时尚设计!三种奇特网格加载效果[附源码下载] 源码下载      在线演示 本文链接:Numer

JS版 数字 金额 格式化 方法

/** * JS版 数字 金额格式化 * @param string s 需要处理的数字串 * @param string n 保留小数的位数 */function fmoney(s, n) { n = n >= 0 && n <= 20 ? n : 2; s = parseFloat((s + "").replace(/[^\d\.-]/g, "")).toFixed(n) + "";//更改这里n数也可确定要保留的