我正在使用Polymer纸张输入法,我想使type="number"
的输入内容始终显示2个小数点,包括整数时。
因此,我希望始终将其显示为1
,而不是默认的1.00
。我输入了step="1"
甚至step="0.01"
的纸质输入,但是每次该值都是整数时,它都不会显示1.00
<paper-input id="taxPercent" min="0" max="99" step="1.00" on-change="_onVariablesChanged" value="0.00"> Tax Percent</paper-input>
_onVariablesChanged: function (event){
let value = event.target.value;
value = parseFloat(value).toFixed(2);
}
答案 0 :(得分:2)
更新输入后,检查是否在值中找到.
。
.00
。
document.addEventListener('DOMContentLoaded', () => {
document.querySelector('input').addEventListener('input', update);
});
function update() {
if (/\./.test(this.value) === false) {
this.value = `${this.value}.00`;
}
}
<input type="number" step="0.01">
答案 1 :(得分:1)
您可以使用事件侦听器检测值何时更改。 input.value
将是一个字符串,但是添加一个+
会将其转换为数字。数字具有toFixed()
方法(mdn),该方法将数字格式化为包含一定数量的十进制精度。
const input = document.querySelector('input');
input.addEventListener('input', () =>
input.value = (+input.value).toFixed(2));
<input type="number" min="1">