一、千分位转换位整数
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(".")
}
}