JS 取小数点后2位

在编程中,经常会遇到需要对数字进行保留小数点后几位的需求。在 JavaScript 中,我们可以通过一些方法来实现取小数点后n位的功能。本文将详细介绍如何在 JavaScript 中取小数点后2位。
方法一:toFixed()
toFixed() 方法可将数字四舍五入为指定小数位数的数字,并将结果以字符串形式返回。
let number = 10.56789;
let result = number.toFixed(2);
console.log(result); // 输出 10.57
在上面的示例中,我们先定义了一个数字 10.56789,然后使用 toFixed(2) 方法取小数点后2位,得到结果 10.57。
需要注意的是,toFixed() 返回的是一个字符串类型的数值,而不是一个数字类型。所以如果需要进行数学运算,可能需要先将字符串转换为数字。
方法二:Math.round()
Math.round() 方法可对数字进行四舍五入取整。
let number = 10.56789;
let result = Math.round(number * 100) / 100;
console.log(result); // 输出 10.57
在上面的示例中,我们先将数字乘以 100,然后使用 Math.round() 方法进行四舍五入取整,最后再除以100得到结果 10.57。
方法三:小数点移位再取整
将小数点后的部分移至整数部分,取整后再移位回来。
let number = 10.56789;
let result = Math.floor(number * 100) / 100;
console.log(result); // 输出 10.56
在上面的示例中,我们先将小数点后的 .56789 移至整数部分得到 1056.789,然后使用 Math.floor() 方法进行取整,最后再将结果移位回来得到 10.56。
方法四:正则表达式
使用正则表达式的方式来取小数点后2位。
let number = 10.56789;
let result = number.toString().match(/^\d+(?:\.\d{0,2})?/)[0];
console.log(parseFloat(result)); // 输出 10.56
上面的代码通过正则表达式 ^\d+(?:\.\d{0,2})? 匹配数字的整数部分和小数部分(小数部分最多2位),然后取出结果并转换为数字类型。
方法五:手动处理
也可以通过手动处理的方式来取小数点后2位。
let number = 10.56789;
let integerPart = Math.floor(number);
let decimalPart = Math.round((number - integerPart) * 100);
let result = integerPart + decimalPart / 100;
console.log(result); // 输出 10.57
上面的代码先获取数字的整数部分 integerPart 和小数部分 decimalPart,然后将两部分加起来得到结果 10.57。
总结
本文介绍了五种方法来在 JavaScript 中取小数点后2位,分别是使用 toFixed() 方法、Math.round() 方法、小数点移位再取整、正则表达式和手动处理的方式。每种方法都有其适用的场景,可以根据实际需求选择合适的方法来进行处理。
极客笔记