js中字符串转数字方法总结

parseFloat函数

 代码如下 复制代码

parseFloat("abc")    // 返回 NaN
parseFloat("1.2abc") // 返回 1.2

parseInt函数

 代码如下 复制代码

parseInt("abc")    // 返回 NaN
parseInt("12abc")  // 返回 12

下面是一段 JavaScript 代码, 同样是将字符串 020 转为整型.

 代码如下 复制代码

var str = "020";
var num = parseInt(str);
alert(num);
输出结果是 16

无论是 Java 还是 JavaScript, parseInt 方法都有两个参数, 第一个参数就是要转换的对象, 第二个参数是进制基数, 可以是 2, 8, 10, 16, 默认以 10 进制处理. 但在 JavaScript 中, 0 开始的数被认为使用 8 进制处理, 0x 的数被认为是用 16 进制来处理. 所以上面的 JavaScript 代码计算错误了.

前面说过, 有两个参数, 第二个参数可以指定计算使用的进制.

parseInt(num, radix);
所以我们可以将前面有问题的那段 JavaScript 代码改写为下面的代码.

 代码如下 复制代码

var str = "020";
var num = parseInt(str, 10);
alert(num);

有朋友可能会知道js中还可以强制转换数据类型,我们字符转换数值可使用强制Number()函数

Number(value)——把给定的值转换成数字(可以是整数或浮点数);

 代码如下 复制代码

<script>
var i="012.53"; //此处的i为字符型
i=Number(i);   //此处的i为数值型
</script>

•使用Number()函数,他会自动判断String中是整数还是浮点数,然后内部使用相应的数据类型,另外可以使用全局函数parseInt()和parseFloat(),他们根据你的要求进行转换

时间: 2024-10-04 10:50:21

js中字符串转数字方法总结的相关文章

Javascript中字符串转数字方法介绍

们知道最简洁的数字转字符串方法是: 强制类型转换 整数要转换成字符串,必须使用Integer.toString()静态方法或者String.valueOf()静态方法,把字符串转换为整数,必须使用Integer.valueOf(). 可见,不能把JavaScript中的类型转换看作为"强制类型转换". 还可使用强制类型转换(type casting)处理转换值的类型.使用强制类型转换可以访问特定的值,即使它是另一种类型的. ECMAScript中可用的3种强制类型转换如下: Boole

解决Python中字符串和数字拼接报错的方法_python

前言 众所周知Python不像JS或者PHP这种弱类型语言里在字符串连接时会自动转换类型,如果直接将字符串和数字拼接会直接报错. 如以下的代码: # coding=utf8 str = '你的分数是:' num = 82 text = str+num+'分 | 琼台博客' print text 执行结果 直接报错:TypeError: cannot concatenate 'str' and 'int' objects 解决这个方法只有提前把num转换为字符串类型,可以使用bytes函数把int

js中parseInt()函数使用方法总结(1/2)

parseInt(string, radix) 函数有两个调用方式 1.指定radix,这也是推荐的方式,很不幸我之前都不是这样做的 2.不指定radix,即:parseInt(string).虽然简单,但规则很多,这也是本文阐述内容的核心.   parseInt(string, radix) radix,表示转换的基数,也就是我们常说的2进制.8进制.10进制.16进制等.范围从2~36,但我们在JS中一般调用该方法时,基本都是以10为基数进行转换的. 如果该参数小于 2 或者大于 36,则

JS判断字符串包含的方法

 本文实例讲述了JS判断字符串包含的方法.分享给大家供大家参考.具体如下: 1. 例子: 1 2 3 4 5 6 7 8 var tempStr = "tempText" ; var bool = tempStr.indexOf("Texxt"); //返回大于等于0的整数值,若不包含"Text"则返回"-1. if(bool>0){ document.write("包含字符串"); }else{ docume

JS中数组重排序方法_javascript技巧

1.数组中已存在两个可直接用来重排序的方法:reverse()和sort(). reverse()和sort()方法的返回值是经过排序后的数组.reverse()方法会反转数组项的顺序: var values=[1,2,3,4,5]; values.reverse(); alert(values); //5,4,3,2,1 在默认情况下,sort()方法按升序排列数组,sort()方法会调用每个数组项的toString()转型方法,然后比较得到字符串,确定如何排序.即使数组中的每一项都是数值,s

JS判断字符串包含的方法_javascript技巧

本文实例讲述了JS判断字符串包含的方法.分享给大家供大家参考.具体如下: 1.  例子: var tempStr = "tempText" ; var bool = tempStr.indexOf("Texxt"); //返回大于等于0的整数值,若不包含"Text"则返回"-1. if(bool>0){ document.write("包含字符串"); }else{ document.write("不

C语言中字符串和数字的相互转换实现代码

以下是对C语言中字符串和数字的相互转换实现代码进行了分析介绍,需要的朋友可以参考下   1.数字转换为字符串sprintf 跟printf 在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出. sprintf 是个变参函数,定义如下: int sprintf( char *buffer, const char *format [, argument] ... ); 除了前两个参数类型固定外,后面可以接任意多个参数. printf 和sprintf 都使用格式

代码-求js中treegrid的查询方法

问题描述 求js中treegrid的查询方法 一个页面用的treegrid显示,显示的根节点和子节点,但是查找的时候只能查到根节点那里,求一个办法可以让我实现能够查到子节点,最好有一个代码模板,谢谢了 解决方案 确定是查询的时候没有子节点还是查到了没有显示

关于js中字符串格式的数字的几个测试

前几天写js,跟踪调试时,发现误传了参数类型[原本需要的是number类型的,结果传递的实参却是string类型的].结果居然没有产生异常,仍然顺利地执行了. 于是,今天特地做了几个测试. (1)字符串类型数字的自加 /* *测试字符串类型数字的自加操作 */ function testStringSelfAdd() { var i = "0"; for (var j = 0; j < 100; j++) { i++; } alert("i=" + i + &