JS中數(shù)字直接相加時出錯,轉換成數(shù)字類型Number()或乘10除10解決
當前位置:點晴教程→知識管理交流
→『 技術文檔交流 』
Javascript與許多其他編程語言不同,Javascript 不會定義不同類型的數(shù),比如整數(shù)、短的、長的、浮點的等等。 方法1:Number(需要轉換的字符串) 方法2: <body> 小數(shù)測試: 文本框value值獲取的是string類型的:<input type="text" id="A1" value="0.3">+ <input type="text" id="A2" value="0.4">= <input type="text" id="S1"> <br> <input type="button" onclick="s1()" value="點擊字符串拼接"><br> <input type="button" onclick="s2()" value="點擊Number轉換的"><br> <input type="button" onclick="s3()" value="點擊Number轉換的且用了乘除法"><br> <script language="javascript" type="text/javascript"> function s1(){//文本框輸入的為字符串類型,相加后為字符串拼接 var textA1,textA2,textS1; textA1=document.getElementById("A1").value; textA2=document.getElementById("A2").value; textS1=textA1+textA2; document.getElementById("S1").value=textS1; console.log("textA1的類型是:"+typeof(textA1)); console.log("textA2的類型是:"+typeof(textA2)); console.log("textS1的類型是:"+typeof(textS1)); }; function s2(){//字符串類型轉換成數(shù)字類型,Number(需要轉換的字符串) var textA1,textA2,textS1; textA1=Number(document.getElementById("A1").value); textA2=Number(document.getElementById("A2").value); textS1=textA1+textA2; document.getElementById("S1").value=textS1; console.log("textA1的類型是:"+typeof(textA1)); console.log("textA2的類型是:"+typeof(textA2)); console.log("textS1的類型是:"+typeof(textS1)); console.log(0.3+0.4); console.log(0.3+0.3); console.log(0.1+0.2); console.log(0.4+0.2); console.log(0.7+0.2); console.log(0.6+0.2); console.log(0.44+0.22); }; function s3(){//用乘除法解決該問題 var textA1,textA2,textS1; textA1=Number(document.getElementById("A1").value); textA2=Number(document.getElementById("A2").value); textS1=(textA1*10+textA2*10)/10; document.getElementById("S1").value=textS1; console.log(0.4+0.2); console.log((0.4*10+0.2*10)/10); }; </script> </body> 圖示: 該文章在 2023/9/28 0:03:51 編輯過 |
關鍵字查詢
相關文章
正在查詢... |