封装js千分位加逗号和删除逗号

原文:封装js千分位加逗号和删除逗号

                //封装js千分位加逗号和删除逗号
                alert( format(2545678754.020001) )    //2,545,678,754.03
                alert( format(-2545678754.020001) )    //-2,545,678,754.02
                alert( format(2545678754.000000000009) );    //当值很长的时候会出现数字被截取的问题
                alert( delformat(‘2,545,678,754.03‘) );    //2545678754.03
                alert( delformat(‘-2,545,678,754.03‘) );    //-2545678754.03

                function format(num){
                    var sNum=num.toFixed(2)+‘‘,    //将传入的值【四舍五入】保留2位小数
                        re=/(\d+)(\d{3})/;

                    if( /\.\d{3}/.test(num+‘‘) ){
                        if(sNum.charAt(0)!=‘-‘){
                            //如果传入的值不只两位小数,就向前进1保留2位小数,如:1.2400001 -> 1.25
                            sNum=sNum.substring(0,sNum.length-1)+(parseInt(sNum.slice(-1))+1);
                        }
                    }    //向前进1的情况太多,没考虑周全,比如说0.999 -0.0009

                    while(re.test(sNum)){
                        sNum=sNum.replace(re,‘$1,$2‘);
                    }

                    return sNum;
                }

                function delformat(sNum){
                    return sNum.replace(/,/g,‘‘);
                }
时间: 2024-11-07 21:10:09

封装js千分位加逗号和删除逗号的相关文章

js千分位的函数

不错的js千分位函数,适用于将金额每3位用“,”分隔 /*for price using thousands separator */ function fprice(s,n){ s = parseFloat((s + "").replace(/[^\d\.-]/g, "")).toFixed(n) + ""; //n为小数点后保留小数位 var l = s.split(".")[0].split("").

js千分位处理

一.去掉千分位 function removeThousands(num) { var x = num.split(','); return parseFloat(x.join("")); } 二.添加千分位 function addThousands(num) { var reg = /\d{1,3}(?=(\d{3})+$)/g; if ( num &&num.toString().indexOf('.') == -1) { return (num + '').re

js 千分位(分转元,万转元...)

//千分位 (万转元) function price(a){ var num = Number(a); if(!num){//等于0 return num+'.00'; }else{//不等于0 num=num*10000;//万到元(*修改此处,可灵活使用) num+='';//转成字符串 var reg=num.indexOf('.') >-1 ? /(\d{1,3})(?=(?:\d{3})+\.)/g : /(\d{1,3})(?=(?:\d{3})+$)/g;//千分符的正则 cons

edittext实现显示千分位格式

在edittext中你在输入1123456789过程中自动显示为1,123,456,789这种千分位格式的.那么我们该怎么做呢? 查阅Android edittext api发现它有这样一个方法addTextChangedListener,这个方法就是用来监听用户在输入过程中的事件监听,它会重写这几个方法: editText.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSeq

js jquery版本的 金额千分位转换函数(非正则,效率极高)

没想到js里面没有 金额千分位格式化的处理函数(例:1,234.01 这样的格式),网上搜了一圈,都是使用正则的方式处理的.正则的效率不敢恭维啊,又耗费资源速度又慢(虽然处理起来会直观一些). 因此专门写了一个纯数值处理最后输出字符串个 金额千分位处理函数,并封装成jQuery函数包,处理时效率很高,可高频率的使用,直接上代码.还有min压缩版本可点击连接下载. 如果你不是jQuery环境,直接把源码拿出来,重新封装到自己的函数中能够就能用. 源码以及min包下载地址:jQuery.format

Js笔试题之千分位格式化

用js实现如下功能,将给定的数字转化成千分位的格式,如把“10000”转化成“10,000”,并考虑到性能方面的因素. 一.首先想到的办法,将数字转换为字符串(toString())再打散成数组(split),如果直接数字转换为数组,就是一整个放进去了,不能单独取到每一位.然后通过循环,逐个倒着把数组中的元素插入到新数组的开头(unshift),第三次或三的倍数次,插入逗号,最后把新数组拼接成一个字符串 n=1233456; toQfw(n); function toQfw(){ var arr

两种方法解决数字加千分位问题(没考虑负数和小数)

问题描述:数字加千分位:要求用户输入一个整数,编写一个方法,方法将将整数转换为一个从低位开始每三位一个逗号的“千分位”字符串表示形式. //正向解法 package ThirdTest;import java.util.Scanner;public class No2{ public static void main(String[] args) { Scanner sc=new Scanner(System.in); int num=sc.nextInt(); thousand(num); s

从千分位格式化谈JS性能优化

所谓的千分位形式,即从个位数起,每三位之间加一个逗号.例如“10,000”.针对这个需求,我起初写了这样一个函数: // 方法一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 %

JS实现千分位

方法一:正则实现 function format (num) { var reg=/\d{1,3}(?=(\d{3})+$)/g; return (num + '').replace(reg, '$&,'); } 解释: 1.正则表达式 \d{1,3}(?=(\d{3})+$)  表示前面有1~3个数字,后面的至少由一组3个数字结尾 2.?=表示正向引用,可以作为匹配的条件,但匹配到的内容不获取,并且作为下一次查询的开始 3.$& 表示与正则表达式相匹配的内容,具体的可查看 w3schoo