网络编程
位置:首页>> 网络编程>> JavaScript>> js 实现数值的千分位及保存小数方法(推荐)

js 实现数值的千分位及保存小数方法(推荐)

作者:jingxian  发布时间:2023-08-17 01:13:11 

标签:千分位,小数,js

实例如下:

/**
   * 将数值四舍五入后格式化.
   *
   * @param num 数值(Number或者String)
   * @param cent 要保留的小数位(Number)
   * @param isThousand 是否需要千分位 0:不需要,1:需要(数值类型);
   * @return 格式的字符串,如'1,234,567.45'
   * @type String
   */
  function formatNumber(num,cent,isThousand) {
   num = num.toString().replace(/\$|\,/g,'');
// 检查传入数值为数值类型
    if(isNaN(num))
     num = "0";
// 获取符号(正/负数)
   sign = (num == (num = Math.abs(num)));
num = Math.floor(num*Math.pow(10,cent)+0.50000000001); // 把指定的小数位先转换成整数.多余的小数位四舍五入
   cents = num%Math.pow(10,cent);       // 求出小数位数值
   num = Math.floor(num/Math.pow(10,cent)).toString();  // 求出整数位数值
   cents = cents.toString();        // 把小数位转换成字符串,以便求小数位长度
// 补足小数位到指定的位数
   while(cents.length<cent)
    cents = "0" + cents;
if(isThousand) {
    // 对整数部分进行千分位格式化.
    for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
     num = num.substring(0,num.length-(4*i+3))+','+ num.substring(num.length-(4*i+3));
   }
if (cent > 0)
    return (((sign)?'':'-') + num + '.' + cents);
   else
    return (((sign)?'':'-') + num);
  }
0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com