允许2个小数位

问题描述 投票:130回答:9

我有一个<input type="number">,我想限制用户的输入为纯数字或数字,小数点后2位小数。

基本上,我要求输入价格。

我想避免做正则表达式。有办法吗?

<input type="number" required name="price" min="0" value="0" step="any">
html html5 numbers
9个回答
14
投票

第1步:将HTML数字输入框挂钩到onchange事件

myHTMLNumberInput.onchange = setTwoNumberDecimal;

或者在HTML代码中

<input type="number" onchange="setTwoNumberDecimal" min="0" max="10" step="0.25" value="0.00" />

第2步:编写setTwoDecimalPlace方法

function setTwoNumberDecimal(event) {
    this.value = parseFloat(this.value).toFixed(2);
}

您可以通过改变传递给toFixed()方法的值来改变小数位数。见MDN docs

toFixed(2); // 2 decimal places
toFixed(4); // 4 decimal places
toFixed(0); // integer

8
投票

尝试这样只允许输入类型中的2位小数

<input type="number" step="0.01" class="form-control"  />

3
投票

我发现使用jQuery是我最好的解决方案。

$( "#my_number_field" ).blur(function() {
    this.value = parseFloat(this.value).toFixed(2);
});

-1
投票

使用此代码

<input type="number" step="0.01" name="amount" placeholder="0.00">

默认情况下,HTML5输入元素的步长值为step =“1”。


-3
投票

写吧

<input type="number" step="0.1" lang="nb">

lang ='nb“让你用逗号或句号写下你的十进制数


-8
投票

输入:

step="any"
class="two-decimals"

在脚本上:

$(".two-decimals").change(function(){
  this.value = parseFloat(this.value).toFixed(2);
});
© www.soinside.com 2019 - 2024. All rights reserved.