将改方法进行封装成整数为x位 小数x位
时间: 2024-03-27 12:36:02 浏览: 66
vue限制输入框只能输入8位整数和2位小数的代码
5星 · 资源好评率100%
你可以将上面的代码进行封装,使其可以根据参数限制整数部分和小数部分的位数。示例代码如下:
```javascript
function formatNumber(num, integerDigits, decimalDigits) {
// 限制整数部分和小数部分的位数
const reg = new RegExp(`^(\\d{1,${integerDigits}})(\\.\\d{0,${decimalDigits}})?$`);
return num.toString().replace(reg, function(match, p1, p2) {
if (p2 === undefined) {
// 没有小数部分
return p1;
} else {
// 有小数部分
return p1 + p2;
}
});
}
```
使用示例:
```javascript
console.log(formatNumber(123.456, 2, 1)); // "12.5"
console.log(formatNumber(12.345, 2, 1)); // "12.3"
console.log(formatNumber(1.234, 2, 1)); // "1.2"
console.log(formatNumber(0.123, 2, 1)); // "0.1"
console.log(formatNumber(0.012, 2, 2)); // "0.01"
console.log(formatNumber(0.001, 2, 3)); // "0.001"
```
在上面的代码中,我们将函数名改为了 `formatNumber`,并增加了两个参数 `integerDigits` 和 `decimalDigits`,分别用于指定整数部分和小数部分的位数。在函数中,我们使用字符串模板和正则表达式来生成匹配整数部分和小数部分的正则表达式,然后使用 replace 方法和函数来对数字进行格式化。
使用示例中的参数分别为 `(123.456, 2, 1)`,表示限制整数部分最多 2 位,小数部分最多 1 位。
阅读全文