js获得文本框的值怎么转化成数值型啊

function dd(){
var a, b;
a=document.getElementById("dj").value;
b=document.getElementById("sl").value;
document.getElementById("hj").value=a+b;
}//这是JS 部分

下面的表单部分
<tr><td>输入单价 </td> <td> <input type="text" name="password" id="dj" size="15" ></td></tr>
<tr><td>输入数量</td> <td> <input type="text" name="password" id="sl" size="15" ></td></tr>
<tr><td>合计</td> <td> <input type="text" name="text" id="hj" size="15" onfocus="dd()" >
单价和数量输入的是数值但是合计这行实现的值不是数值相加,是两个字符串相连。

咋解决啊。。
我自己补充哈算了,我已近找到解决办法了
function dd(){
var a, b;
a=document.getElementById("dj").value*1;
b=document.getElementById("sl").value*1;//在后面乘个1就解决问题了。
document.getElementById("hj").value=a+b;

javascript主要有以下三种数据类型转换方式:

    转换函数:parseInt()和parseFloat()分别将值转换成整数和浮点数。

    强制类型转换:Boolean(value)、Number(value)、String(value)将给定的值分别转换成逻辑值、数字(整数或浮点数)及字符串。 

    弱类型自动转换:字符串与数字进行数学操作符运算时,字符串会自动转为数字。

实例演示:将文本框的值转化成数值型

var a = document.getElementById("num1").value;
var b = document.getElementById("num2").value;

var c1 = parseFloat(a) + parseFloat(b);   //  函数转换
var c2 = Number(a) + Number(b);  //  强制类型转换
var c3 = a*1 + b*1;   // a*1将自动转化为数字类型

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-03-30
将文本框中的字符型转换为浮点型的语句:double.Parse(extBox1.Tex)将浮点型的计算结果以字符串的形式展现,就要采用ToString0方法,若计算结果存储在变量z中,则除出的语句为TextBox3.Text - z.Totring0.4
第2个回答  2018-11-05
Int c=Integer.parseInt();
浮点数类同;
第3个回答  2014-01-17
我是来打酱油的。。。
今天正好碰到这个问题,以为没有答案,没想到LZ自问自答了。
*1的确可以解决问题。但是不知道原理,希望好心人给解释下
相似回答