日期:2014-05-16  浏览次数:20375 次

关于强制类型转换,javascript有这种功能么?
怎样将一个浮点数截为整数,我看的教程里说,它会自动转换类型的。能告诉我一个详细的参考手册中的位置么。。。。。
var a="1";
var b="1.1246547";
if(a==b)alert("相等");




------解决方案--------------------
JScript code

var a="1";
var b="1.1246547";
if(a==parseInt(b)){
    alert("相等");
}

------解决方案--------------------
JS中允许进行强制类型转换。在进行运算时,如果两个操作数的类型不同,也会进行自动类型转换。
参考:ECMAScript 类型转换
------解决方案--------------------
二楼说
---------
== 是值相等
---------
不一定吧, alert(0 == false) 这个也是true



------解决方案--------------------
探讨

二楼说
---------
== 是值相等
---------
不一定吧, alert(0 == false) 这个也是true

------解决方案--------------------
探讨

JScript code

var a="1";
var b="1.1246547";
if(a==parseInt(b)){
alert("相等");
}



=== 是类型和值都相等
== 是值相等



parseInt() 函数可解析一个字符串,并返回一个整数。
http://www.w3school.com.cn/js/jsref_parseInt.asp
……

------解决方案--------------------
探讨
二楼说
---------
== 是值相等
---------
不一定吧, alert(0 == false) 这个也是true

------解决方案--------------------
类型转换好像每个语言都有,可以自动转换,也可以强制转换。
Boolean(value)
Number(value)
String(value)
------解决方案--------------------
即使使用js强类型转换也无法帮你截位。因为他没有Integer这个类,只有Number

上面的parseInt的用法也不对

用parseInt一定要用两个参数,否则parseInt("08") == 0, parseInt("09") == 0
正确的用法,parseInt(num, 10);
代表10进制

另外,js强类型转换
var test = "1.3232123";

var num = Number(test);大致跟ls一样
------解决方案--------------------
教程上说
var test1 = "1";
var test2 = 1;

==时会自动类型转换

但是,===时不会

alert(test1 == test2);// true
alert(test1 === test2);//false