输入类型= [数字]在显示时将float转换为int

时间:2019-06-20 10:35:46

标签: javascript html css firefox input

我想在数字输入中显示例如100.00的值。可以由用户输入并使用货币,因此显示它很重要。

但是,当以编程方式将值设置为100.00时,它将显示的变量重置为100。

但是,如果您输入100.00,则可以正常工作。问题在于此输入上存在验证,并且javascript将其重新设置为100,从而刷新了该值。

编辑:似乎只影响Firefox。 我尝试将值添加为

input.value = 100.00

input.value = parseFloat(100.00)

input.value = parseFloat(100.00).toFixed(2).

document.getElementById('test_input').value = 100.00;
<input id="test_input" type="number" step="0.01">

和JSFiddle https://jsfiddle.net/3qnL07yu/

3 个答案:

答案 0 :(得分:2)

您可以像这样更新输入值:

document.getElementById('test_input').value = "100.00";

这是更新的代码: https://jsfiddle.net/zun0aptf/4/

答案 1 :(得分:0)

可能的方式:您可以这样设置值

 <input id="test_input" type="number" step="0.01" value="100.00">

 document.getElementById('test_input').value = "100.00";

答案 2 :(得分:0)

type="number"更改为type="text"并进行数字验证。

 <input id="test_input" type="text" step="0.01">

更新后的代码:https://jsfiddle.net/8c6n012f/1/