[英]Input type=[number] converts float to int on display
我想在一个数字输入中显示一个说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/
您可以像这样更新输入值:
document.getElementById('test_input').value = "100.00";
这是更新的代码: https : //jsfiddle.net/zun0aptf/4/
可能的方式:您可以像这样设置值
<input id="test_input" type="number" step="0.01" value="100.00">
要么
document.getElementById('test_input').value = "100.00";
将type="number"
更改为type="text"
并进行数字验证。
<input id="test_input" type="text" step="0.01">
更新的代码: https : //jsfiddle.net/8c6n012f/1/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.