亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從表單輸入中獲取數字時丟失十進制值

從表單輸入中獲取數字時丟失十進制值

慕田峪9158850 2022-11-27 09:22:02
我正在嘗試從 HTML 表單輸入中獲取一個值(最多 2 位小數),然后我計劃將該值用于 JavaScript 中的某些計算。我遇到的問題是當用戶輸入一個值時,小數位會丟失。我簡化了下面的代碼以突出顯示該問題。<!DOCTYPE html><html><head>  <meta charset="UTF-8">  <meta name="viewport" content="width=device-width, initial-scale=1.0">  <title>Document</title></head><body>  <form>    1st Number<br> <input type="number" step="0.01" id="num1" placeholder=0.00>  </form>  <button onclick="calculator()">submit</button>  <p id="answer"></p></body><script>        function calculator(){            const num1 = document.getElementById("num1").value|0;            document.getElementById("answer").innerHTML = num1; //example user inputs 5.55, the returned value = 5        }</script></html>
查看完整描述

2 回答

?
繁星點點滴滴

TA貢獻1803條經驗 獲得超3個贊

您沒有為邏輯或使用正確的運算符,這是||(邏輯)不是|(按位)。


此外,您應該使用.textContentinstead of.innerHTML將值設置到另一個元素中,因為檢索到的值不包含任何 HTML。.innerHTML具有安全和性能影響。


<!DOCTYPE html>

<html>

<head>

  <meta charset="UTF-8">

  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  <title>Document</title>

</head>

<body>

  <form>

    1st Number<br> <input type="number" step="0.01" id="num1" placeholder=0.00>

  </form>


  <button onclick="calculator()">submit</button>


  <p id="answer"></p>

</body>


<script>

        function calculator(){

            const num1 = document.getElementById("num1").value || 0;

            document.getElementById("answer").textContent = num1; 

        }

</script>

</html>


查看完整回答
反對 回復 2022-11-27
?
森林海

TA貢獻2011條經驗 獲得超2個贊

您正在使用二元運算符將值轉換為 int(內部)。


您應該改為parseFloat或使用+運算符將其轉換為Number


<!DOCTYPE html>

<html>

<head>

  <meta charset="UTF-8">

  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  <title>Document</title>

</head>

<body>

  <form>

    1st Number<br> <input type="number" step="0.01" id="num1" placeholder=0.00>

  </form>


  <button onclick="calculator()">submit</button>


  <p id="answer"></p>

</body>


<script>

        function calculator(){

            const num1 = parseFloat(document.getElementById("num1").value);

            document.getElementById("answer").innerHTML = num1; 

//example user inputs 5.55, the returned value = 5

        }

</script>

</html>


查看完整回答
反對 回復 2022-11-27
  • 2 回答
  • 0 關注
  • 134 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號