js金额数字格式化实现代码(三位加逗号处理保留两位置小数)

转载 2016年08月28日 15:58:16

工作中很常用的东西:

例1,使数字1111111变成11,111,111.00,保留两位小数。

复制代码
<html>
<head>
<script type="text/javascript">
function outputmoney(number) {
number = number.replace(/\,/g, "");
if(isNaN(number) || number == "")return "";
number = Math.round(number * 100) / 100;
    if (number < 0)
        return '-' + outputdollars(Math.floor(Math.abs(number) - 0) + '') + outputcents(Math.abs(number) - 0);
    else
        return outputdollars(Math.floor(number - 0) + '') + outputcents(number - 0);
} 
//格式化金额
function outputdollars(number) {
    if (number.length <= 3)
        return (number == '' ? '0' : number);
    else {
        var mod = number.length % 3;
        var output = (mod == 0 ? '' : (number.substring(0, mod)));
        for (i = 0; i < Math.floor(number.length / 3); i++) {
            if ((mod == 0) && (i == 0))
                output += number.substring(mod + 3 * i, mod + 3 * i + 3);
            else
                output += ',' + number.substring(mod + 3 * i, mod + 3 * i + 3);
        }
        return (output);
    }
}
function outputcents(amount) {
    amount = Math.round(((amount) - Math.floor(amount)) * 100);
    return (amount < 10 ? '.0' + amount : '.' + amount);
}
</script>
</head>
<body>
<input type=text   maxlength="8" id="test" onblur="this.value=outputmoney(this.value);" >
</body>
</html>
复制代码

例2,使数字1111111变成11,111,111---和使11,111,111变成1111111---整数--

复制代码
<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=gb2312" />
<title>js 格式化金额的代码---www.jb51.net</title>
<script language="javascript">
function tran(id)
{
  var v, j, sj, rv = "";
  v = id.value.replace(/,/g,"").split(".");
  j = v[0].length % 3;
  sj = v[0].substr(j).toString();
  for (var i = 0; i < sj.length; i++)
  {
    rv = (i % 3 == 0) ? rv + "," + sj.substr(i, 1): rv + sj.substr(i, 1);
  }
  var rvalue = (v[1] == undefined) ? v[0].substr(0, j) + rv: v[0].substr(0, j) + rv + "." + v[1];
  if (rvalue.charCodeAt(0) == 44)
  {
    rvalue = rvalue.substr(1);
  }
  id.value = rvalue;
}
function tran2(id)
{
  var v;
  v = id.value.replace(/,/g,"");
  alert(v);
}
</script>
<style type="text/css">
<!--
body,td,th,input {
 font-size: 12px;
}
-->
</style></head>
<body>
<input name="tt" type="text" id="tt" size="80" onkeyup="tran(this)" />
<br/>
<input name="tt" type="text" id="tt2" size="80" onkeyup="tran2(this)" />
</body>
</html>

相关文章推荐

js里实现给数字加三位一逗号间隔的两种方法

方法一: var num_s = "1232134456.546 ";alert(parseFloat(num_s).toLocaleString()); ...

js中 金额格式化 加千位符

//金额格式化  千位符   function formatMoney(s1,n)     //  n为小数点位数  {        s = parseFloat((s1 + "").repl...
  • zh521zh
  • zh521zh
  • 2015年01月13日 15:12
  • 875

js每三位数字一个逗号 只有一个小数点并且只保留两位小数

今天突然有一个需求:条件: 1.只能是数字 2.第一个不能是小数点 3.只能有一个小数点 4.小数点后保留两位 5.如果没有小数点,自动加小数点然后加00 百度后只有零散的代码,于是本...

格式化金额,每三位加逗号并保留两位小数

将系统的所有金额格式化显示:整数位每隔三位加逗号,并保留两位小数。在input框输入时,焦点离开后,同样将输入的金额格式化,但保存到数据库时,保存数字而非字符串。...

Jquery基础(三) js方法转换金额加逗号显示

//数字加逗号 function parseToChange(number,n){    if(n != 0 ){        n = (n > 0 && n    }          numbe...

PHP数字格式化,每三位逗号分隔数字,可以保留小数

在报价的时候为了给浏览者更清晰明确的数字,所以需要用到数字格式化,有两种方法,一种自己写函数,另一种当然是系统自带的,其实我更喜欢系统自带的。 先来系统简单的: string number...
  • aerchi
  • aerchi
  • 2014年07月14日 11:21
  • 4777

常用的js处理方法(数字每隔三位加逗号分开,日期)

(1)把数字每隔三位加逗号分开 function FormatNum(str){ var str = ''+str; var newStr = ""; var count = ...

关于web开发金额每隔三位逗号格式化js

关于web开发金额每隔三位逗号格式化js

php 格式化金额(每三位加一逗号)

/** * 格式化金额 * @param $num 单位为分的钱数 * @return array|bool|string */ function money_format($num) { ...

php实现数字格式化,数字每三位加逗号的功能函数

php实现数字格式化,数字每三位加逗号的功能函数 代码如下所示: function num_format($num){ if(!is_numeric($num)){ return false;...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:js金额数字格式化实现代码(三位加逗号处理保留两位置小数)
举报原因:
原因补充:

(最多只允许输入30个字)