当输入值 12.4567 并知道例如我们有 3 个精度 -> 截断数字 12.456 时,怎么可能?我的代码的问题是,如果您将值 12.4567 复制到输入中,那么它会完全跳过这个数字并且不会将其切断,但是如果您输入它,那么一切正常。
const precision = 3;
const numbersAfterDecimal = value.split('.')[1];
if (numbersAfterDecimal && numbersAfterDecimal.length > precision) {
const amount = value.slice(0, -1);
}
原来是这样通过substr来解决问题的:
yourNumber.toFixed(precision)
- 返回一个四舍五入的字符串yourNumber.toString().match(/^-?\d*(?:\.\d{0,precision})?/)[0]
也将返回一个字符串,但不四舍五入