如何用AutoNumeric实现:整数原样显示,小数至少两位最多三位
AutoNumeric 配置方案(满足自定义小数位需求)
针对你需要的格式规则,以下是具体的AutoNumeric配置代码,可直接实现所有要求:
new AutoNumeric('.target-input', { maximumDecimalPlaces: 3, minimumDecimalPlaces: function(value) { // 移除格式字符,判断数值是否为整数 const rawValue = Number(value.replace(/[^0-9.-]/g, '')); return Number.isInteger(rawValue) ? 0 : 2; }, roundMethod: 'truncate', keepTrailingZeros: true, allowDecimalPadding: true });
参数说明:
maximumDecimalPlaces: 3:限制最多显示3位小数,超过部分直接截断minimumDecimalPlaces:通过函数动态设置最小小数位:- 若输入为整数,返回0,保持无小数显示
- 非整数时返回2,确保至少显示两位小数
roundMethod: 'truncate':对超过3位的小数执行截断操作(而非四舍五入)keepTrailingZeros: true:强制保留最小小数位的末尾零,比如87.6会自动补为87.60allowDecimalPadding: true:配合补零逻辑,允许自动填充小数位的零
验证各场景:
- 输入
87→ 显示87 - 输入
87.6→ 显示87.60 - 输入
87.65→ 显示87.65 - 输入
87.654→ 显示87.654 - 输入
87.6543/87.65432→ 显示87.654
内容的提问来源于stack exchange,提问作者Ringo
相关产品推荐
相关产品推荐

