[英]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.