js处理数值 - 随机数、数值转换、数值截取

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_29326717/article/details/83045123

1、生成固定范围内的随机数

/**
 * 生成从min到max的随机数
 * @param min
 * @param max
 * @returns
 */
function randomByTo(min,max){
//	arguments.length表示的是实际上向函数传入了多少个参数,这个数字可以比形参数量大,也可以比形参数量小(形参数量的值可以通过Function.length获取到).
	switch(arguments.length){
		case 1:
			return parseInt(Math.random()*min+1,10); 
			break;
		case 2:
			return parseInt(Math.random()*(max-min+1)+min,10); 
			break;
		default: 
			return 0;
			break;
	}
}

2、将数值换成 0.00 的格式

/**
 * 将传入的数字转换成 0.00 的格式
 * @param num
 * @returns {String}
 */
function valToFloat2(num){
	num = num.toString();
	if(num.indexOf(".")< 0){
		num = num +'.00';
	}else{
		if(num.split('.')[1].length==0){
			num = num + '00';
		}else if(num.split('.')[1].length==1){
			num = num + '0';
		}else{
			num = num.split('.')[0]+'.'+num.split('.')[1].substr(1,2);
		}
	}
//	num = parseFloat(num);
	return num;
}

3、截取数值小数位

/**
 * 截取小数
 * @param val 需要截取的值
 * @param n	需要截取小数的位数
 * @returns {String}
 */
function cutDecimal(val,n){	
	var num = val.toString();	
	if(num.indexOf(".") < 0){
		num = num+'.';
		for(var i=0; i<n; i++){
			num += '0';
		}
	}else{
		var len = num.split('.')[1].length;
		if(len<n){
			num = num;
			for(var i=0; i<(n-len); i++){
				num += '0';
			}			
		}else{
			num = num.split('.')[0]+'.'+num.split('.')[1].substr(0,n);
		}
	}
//	num = parseFloat(num);
	return num;	
}

4、将科学计数法转换成正常数值显示

/**
 * 将科学计数法转换成正常数值显示
 * @param num
 * @returns
 */
function scientificToNum(num){
	let result = String(num);
	if(result.indexOf('-') >= 0){
		result = '0' + String(Number(result) + 1).substr(1);
	}
	return result;
}

猜你喜欢

转载自blog.csdn.net/qq_29326717/article/details/83045123
今日推荐