js 字符串与数字类型互换的方法
一、字符串转换为数字:
在js读取文本框或者其它表单数据的时候获得的值是字符串类型的,例如两个文本框a和b,如果获得a的value值为11,b的value值为9 ,那么a.value要小于b.value,因为他们都是字符串形式的.所以在比较前需要将它们各自的值转换为Number类型。
主要的方法有三种:
转换函数、强制类型转换、利用js变量弱类型转换 。
1.转换函数 parseInt() 和 parseFloat();
parseInt(str): 将字符串类型转换为 整型 ,当函数的参数不是字符串时,函数返回NaN(Not a Number);
parseFloat(str): 将字符串类型转换为 浮点型 ,当函数的参数不是字符串时,函数返回NaN(Not a Number);
注1:凡是一切表示数的形式的字符串都可以通过上面的两个函数转化为数字,例如:
普通的数字 : parseInt('123') // 123
浮点数 : parseInt('123.45') // 123
十六进制数:parseInt('0x11') // 17
科学计数法: parseInt('3e12') // 3; parseInt('13e12') // 13;
注2:parseInt()函数支持十六进制形式的字符串转换为整型,但是 parseFloat()函数不支持十六进制形式的字符串转换为浮点型,但是会返回数字0.原因是parseFloat()函数将参数为十六进制的字符串 "0x11"的***个字符零(0)看做数字,将其他的忽略。
2.强制类型转换
可使用强制类型转换(type casting)处理转换值的类型。使用强制类型转换可以访问特定的值,即使它是另一种类型的。
ECMAscript中可用的3种强制类型转换如下:
Boolean(value)——把给定的值转换成Boolean型;
Number(value)——把给定的值转换成数字(可以是整数或浮点数);
String(value)——把给定的值转换成字符串。
用这三个函数之一转换值,将创建一个新值,存放由原始值直接转换成的值。这会造成意想不到的后果。
当要转换的值是至少有一个字符的字符串、非0数字或对象时,Boolean()函数将返回true。如果该值是空字符串、数字0、undefined或null,它将返回false。
3. 利用js变量弱类型转换
二、数字转换为字符串
强制类型转换、利用js变量弱类型转换
1.强制类型转换: String(value)——把给定的值转换成字符串。
2.利用js变量弱类型转换:数字+字符串 // 123+"456"------"123456"
js面试题,3种强制类型转换和2种隐式类型转换是什么
三种强制类型转换:String(),Boolean(),Number();
(还有两个:parseInt和parseFloat 应该也算吧)
2种隐式类型:+和-
javascript 怎么将float强制转换为int类型
将float类型转化为int类型有两种方法:
1、在计算时,可以使用向上取整Math.ceil(50/4),或者向下取整math.floor(50/4),或者四舍五入Math.round(50/4)
2、直接使用强制转化为整数的方法parseInt,parseInt(50/4)
1)parseInt 函数将其***个参数转换为字符串,解析它,并返回一个整数或NaN。如果不是NaN,返回的值将是作为指定基数(基数)中的数字的***个参数的整数。
2)parseInt有两个参数,***个是需要转化的内容,第二个是需要转化的进制数,默认为十进制。也可以转化为八进制、十六进制、二进制。如下:
3)parseInt也可以将首部有”数字的字符串“转化为数字,例如:parseInt('12.0swrf')//返回:12
4)另外,还有一个与parseInt用法和作用类似的方法parseFloat(string,radix),parseFloat是将字符串或者数字,强制转化为浮点数类型。
扩展资料:
1、javascript是弱语言类型,定义变量时没有区分字符串,整数,浮点数。但是它很灵活,可以进行不同类型的转换。
2、javascript基本数据类型有以下几种:Number,String,Boolean,Undefined,Null,Symbol,可以根据Number,String,Boolean,Symbol这几种类型内置对象,将变量强制转换为对应的类型。如下:
参考资料:
MDN技术文档-parseInt 语法
MDN技术文档-js的数据类型和数据结构
js中怎么把日期转换成数字?
方法主要有二种:转换函数、强制类型转换。
具体步骤:
一、转换函数:js提供了parseInt()和parseFloat()两个转换函数。前者把值转换成整数,后者把值转换成浮点数。仅仅有对String类型调用这些方法,这两个函数才干正确执行;对其它类型返回的都是NaN(NotaNumber)。
一些示比例如以下:
复制代码 代码例如以下:
parseInt("1234blue");//returns1234。
parseInt("0xA");//returns10。
parseInt("22.5");//returns22。
parseInt("blue");//returnsNaN。
parseInt()方法还有基模式,能够把二进制、八进制、十六进制或其它不论什么进制的字符串转换成整数。基是由parseInt()方法的第二个参数指定的,示比例如以下:
复制代码 代码例如以下:
parseInt("AF",16);//returns175。
parseInt("10",2);//returns2。
parseInt("10",8);//returns8。
parseInt("10",10);//returns10。
假设十进制数包括前导0,那么***采用基数10,这样才不会意外地得到八进制的值比如:
复制代码 代码例如以下:
parseInt("010");//returns8。
parseInt("010",8);//returns8。
parseInt("010",10);//returns10。
parseFloat()方法与parseInt()方法的处理方式相似。
使用parseFloat()方法的还有一不同之处在于,字符串必须以十进制形式表示浮点数,parseFloat()没有基模式。
以下是使用parseFloat()方法的演示样例:
复制代码 代码例如以下:
parseFloat("1234blue");//returns1234.0。
parseFloat("0xA");//returnsNaN。
parseFloat("22.5");//returns22.5。
parseFloat("22.34.5");//returns22.34。
parseFloat("0908");//returns908。
parseFloat("blue");//returnsNaN。
2.强制类型转换
还可使用强制类型转换(typecasting)处理转换值的类型。使用强制类型转换能够访问特定的值,即使它是还有一种类型的。
ECMAscript中可用的3种强制类型转换例如以下:
Boolean(value)——把给定的值转换成Boolean型。
Number(value)——把给定的值转换成数字(能够是整数或浮点数)。
String(value)——把给定的值转换成字符串。
用这三个函数之中的一个转换值,将创建一个新值,存放由原始值直接转换成的值。这会造成意想不到的后果。
当要转换的值是至少有一个字符的字符串、非0数字或对象(下一节将讨论这一点)时,Boolean()函数将返回true。假设该值是空字符串、数字0、undefined或null,它将返回false。
能够用以下的代码段测试Boolean型的强制类型转换。
复制代码 代码例如以下:
Boolean("");//false_emptystring。
Boolean("hi");//true_non-emptystring。
Boolean(100);//true_non-zeronumber。
Boolean(null);//false-null。
Boolean(0);//false-zero。
Boolean(newObject());//true_object。
Number()的强制类型转换与parseInt()和parseFloat()方法的处理方式相似,仅仅是它转换的是整个值,而不是部分值。示比例如以下:
复制代码 代码例如以下:
用法结果
Number(false)0。
Number(true)1。
Number(undefined)NaN。
Number(null)0。
Number("5.5")5.5。
Number("5.6.7")NaN。
Number(newObject())NaN。
Number(100)100。
js强制类型转换的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于js强制类型转换为数组、js强制类型转换的信息别忘了在本站进行查找喔。