Jquery实现数字千分位之间转换以及判断字符串是否包含数字

一、千分位转换位整数

var a1 = '12,034,310';
var a2 = a1.split(",");
var a3= parseFloat(a2.join(""));//注意拼接字符串

输出的结果就是“12034310”;
将千分位转换成数字

var a1 = '12,034,310.90';
var a2 = a1.replace(/,/gi,'');

输出的结果就是“12034310.90”;

二、整数或小数转换成千分位

var a1= 12345411.43434;
var a2= a1.toFixed(2);//保留两位小数
var a3= a2.replace(/(\d{1,3})(?=(\d{3})+(?:$|\.))/g,'$1,');//正则替换

输出的结果就是“12,345,411.00”;

三、判断是否包含数字

          var pattern = /\d/ig;
          var str ="张三丰001";
          if(pattern.test(str)){
             alert("包含数字!")
          }else{
             alert("不包含数字!")
          }

四、加减乘等运算

  //减法
  function Subtr(arg1,arg2){ 
    var r1,r2,m,n; 
    try{r1=arg1.toString().split(".")[1].length}catch(e){r1=0} 
    try{r2=arg2.toString().split(".")[1].length}catch(e){r2=0} 
    m=Math.pow(10,Math.max(r1,r2)); 
    n=(r1>=r2)?r1:r2; 
    return ((arg1*m-arg2*m)/m).toFixed(n); 
}
  
   //减法
  function Addtr(arg1,arg2){ 
    var r1,r2,m,n; 
    try{r1=arg1.toString().split(".")[1].length}catch(e){r1=0} 
    try{r2=arg2.toString().split(".")[1].length}catch(e){r2=0} 
    m=Math.pow(10,Math.max(r1,r2)); 
    n=(r1>=r2)?r1:r2; 
    return ((arg1*m+arg2*m)/m).toFixed(n); 
}
  
//乘法函数,用来得到精确的乘法结果
//说明:javascript的乘法结果会有误差,在两个浮点数相乘的时候会比较明显。这个函数返回较为精确的乘法结果。
//调用:accMul(arg1,arg2)
//返回值:arg1乘以arg2的精确结果
function accMul(arg1,arg2){
    var m=0,s1=arg1.toString(),s2=arg2.toString();
    try{m+=s1.split(".")[1].length}catch(e){}
    try{m+=s2.split(".")[1].length}catch(e){}
    return Number(s1.replace(".",""))*Number(s2.replace(".",""))/Math.pow(10,m);
}
  
//千分位
function moneyFormat(num) {
  // 去除前后空格
   num = $.trim(num);
  // 去除千分位符号,恢复为原始数字
  num = num.replace(/,/g, '');
  // 如果为数值或负数开头则格式化为千分位
  if (isNaN(num) && num != "-") {
    return '';
  } else {
    var source = String(num).split("."); // 按小数点分成2部分
    source[0] = source[0].replace(new RegExp('(\\d)(?=(\\d{3})+$)', 'ig'), "$1,"); // 只将整数部分进行都好分割
    return source.join(".")
  }
}  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值