JavaScript Math.round()的用法以及怎么保留指定小数

JavaScript 数学表达式:Math.round()
  1. 语法:
Math.round(xx) // 参数 ‘xx’ 代表一个数值  
  1. 返回值:
    把给定的值四舍五入为最接近的整数
  2. 示例:
var xx= 20.5;
console.log(Math.round(xx, xx)) // 21

var xx= 20.49;
console.log(Math.round(xx)) // 20

var xx= -20.5;
var xx= -20.55;
console.log(Math.round(xx)) // -20
console.log(Math.round(xx)) // -21
  1. 描述:
    如果参数的小数部分大于0.5,则舍入到相邻的绝对值更大的整数,相反则舍入到绝对值更小的整数,如果刚好等于0.5,则舍入到相邻的在正无穷 +∞ 方向的整数

利用Math.round()保留指定小数

  1. 优点:相比于使用toFixed()方法保留指定小数,使用Math.round()更能有效的达到我们的需求。而toFixed()方法则会强制在后面补0
  2. 基本用法:
var num = 6.6688.... ;

// 要对num保留一位小数怎么做呢?
var result = Math.round(num * 10) / 10
console.log(result) // 6.7

// 要对num保留两位小数又该怎么做呢?
var result2 = Math.round(num * 100) / 100
console.log(result2) // 6.67

// 同理, 要对num保留三位小数、四位小数...该怎么做呢?
......

// 如果要对num取百分比该怎么做呢?
var result3 = Math.round((num / 100)* 10000) / 100
console.log(result3 + '%') // 6.67%	
身为程序员的我们大都趋向于一劳永逸,那么接下来封装一个方法来实现保留指定小数
/**
* value: 数据源
* n: 保留几位小数
*/
function retain(value, n) {
	if(n === 'null' || n === 'undefined' || n === 0) return parseInt(value);
	let tran = Math.round(value * Math.pow(10, n)) / Math.pow(10, n);
	let tranV = tran.toString();
	let newVal = tranV.indexOf('.');
	if(newVal < 0) {
		tranV += '.'
	};
	for(let i = tranV.length - tranV.indexOf('.'); i <= n; i++) {
		tranV += '0';
	};
	return tranV
}
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值