先来几个题吧:

var num1 = Number("123blue");
var num2 = Number("");
var num3 = Number([]);
var num4 = Number(true);
var num5 = Number(null);
var num6 = Number(undefined);
var num7 = Number("010");
答案:
num1=NaN, num2=0, num3=0, num4=1, num5=0, num6=NaN, num7=10 var num8 = parseInt("010");
var num9 = parseFloat("010");
var num10 = parseInt("123blue");
var num11 = parseInt("");
var num12 = parseInt("22.5");
var num13 = parseFloat("22.0");
var num14 = parseFloat("0xA");
答案:
num8=10(ie8下=8), num9=10, num10=123, num11=NaN, num12=22, num13=22, num14=0
都答对的亲呢就略过本文吧,其他亲们继续往下看~

js数值转换有4种方法:Number(), parseInt(), parseFloat(), 和一元操作符“+”。其中“+”和Number()的转换规则一样。
Number()可用于转换任何数据类型,转换的规则如下:

 parseInt()和parseFloat()用于转换字符串,Number()转换字符串过于复杂,parseInt()则相对简单,更适用于字符串的转换。parseInt()有以下几点规则:

  1.解析时先查找第一个非空格字符,如果不是数字或+ -,返回NaN,如果是数字,则继续第二个字符,直到解析完所有字符或遇到一个非数字字符。如

   2.会把“0x”开头且后跟数字的当作十六进制解析; “0”开头且后跟数字的,在ECMAScript 3 中当作八进制,ECMAScript5忽略前导0当作十进制解析.(所以上题中的num8在ie8-下等于8,而在其他现代浏览器中是10)

     3.接收第二个参数,指定使用多少进制。如果是指定了十六进制则字符串可以不带前面的“0x”。如parseInt("A", 16)=16,parseInt("A")=NaN.
 
 

 parseFloat()和parseInt( )类似,除了下面两点:

1.允许有一位小数点“.”,即解析有效的浮点数。

2.忽略前导0始终按十进制解析,并且十六进制格式的字符串会被转换成0.

   字符串如果包含的是整数或者小数点后是0,parseFloat( )返回整数。
												

js数值转换的更多相关文章

  1. JS 数值转换、加减乘除

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  2. 小tips:JS数值之间的转换,JS中最大的Number是多少?,JS == 与 === 的区别

    JS数值之间的转换 Number(), parseInt(),parseFloat() Number()函数的转换规则如下: 1.如果boolean值,true和false将分别被转换为1和02.如果 ...

  3. Javascript数值转换(string,int,json)

    数值: 在JavaScript中,数值转换一般有三种方式: 一.Number(param)函数:param可以用于任何数据类型 1.1 param是Boolean值,true和false分别转换为1和 ...

  4. javascript的数值转换

    在javascript中数值转换,最要的一点是函数第一个字母必须要大写.js中的函数有string字符型.number数值型.null空型.boolean布尔型.undefined未定义. 具体的转换 ...

  5. 【前端】深入浅出Javascript中的数值转换

    由于Javascript是一门弱类型的语言,在我们的代码中无时无刻不在发生着类型转换,所以了解Javascript中的类型转换对于了解我们认识Javascript的运行原理至关重要. 本文主要从数值转 ...

  6. Js强制转换

    Js强制转换 ParseInt(a,b):整型 只能放字符串,b为基数.声明前面的数是几进制.因为只能放字符串,所以无论放什么都转换为字符串: 如果String以0x开头则为16进制的整数: ‘036 ...

  7. Js 日期转换函数(UTC时间转换及日期想加减)

    IOS上Js日期转换中new Date("yyyy-mm-dd")不能正常工作,必须使用new Date("yyyy/MM/dd"); 日期相加减: Date. ...

  8. JavaScript数值转换总结

    在JavaScript中,数值转换一般有三种方式: 一.Number(param)函数:param可以用于任何数据类型 1.1  param是Boolean值,true和false分别转换为1和0: ...

  9. JavaScript进阶(四)js字符串转换成数字的三种方法

    js字符串转换成数字的三种方法 在js读取文本框或者其它表单数据的时候获得的值是字符串类型的,例如两个文本框a和b,如果获得a的value值为11,b的value值为9 ,那么a.value要小于b. ...

随机推荐

  1. 生成shadow中hash字串

    [root@master base]# openssl passwd -1 -salt 123Password: $1$123$2rm.J6pr3p.rmj6YoKSQ8.[root@master b ...

  2. ecshop简单结构

    Ecshop包括的文件夹有admin.api.cert.data.images.includes.js. languages.plugins.temp.theme.wap.widget这些文件夹,和根 ...

  3. 协同办公平台Worktile体验分享(转)

    自从组建团队以来,做的每一个项目.每一次活动,电脑里就会存放了N个不同名称的相同文档, 工作内容.资源文档非常零散,严重影响了工作效率. 之前用Dropbox共享文档,结果被墙了.用印象笔记,结果一个 ...

  4. Candy Sharing Game(hdoj1034)

    Problem Description A number of students sit in a circle facing their teacher in the center. Each st ...

  5. docker 使用Data Volume 共享文件

    Adding a data volume You can add a data volume to a container using the -v flag with the docker run  ...

  6. WPF 接收exe传的值

    原文:WPF 接收exe传的值 一,首先重载APP protected override void OnStartup(StartupEventArgs e)         {            ...

  7. 【POJ 2823 Sliding Window】 单调队列

    题目大意:给n个数,一个长度为k(k<n)的闭区间从0滑动到n,求滑动中区间的最大值序列和最小值序列. 最大值和最小值是类似的,在此以最大值为例分析. 数据结构要求:能保存最多k个元素,快速取得 ...

  8. nyoj 927 The partial sum problem(dfs)

    描述 One day,Tom’s girlfriend give him an array A which contains N integers and asked him:Can you choo ...

  9. Hibernate问题之'hibernate.dialect' not set

    继前文:Hibernate4中buildSessionFactory方法废弃问题.后 继续有问题.本来之前好好的项目,用了这种新的方法后发现问题. 出现  Connection cannot be n ...

  10. C#委托的异步调用【转】

    本文将主要通过“同步调用”.“异步调用”.“异步回调”三个示例来讲解在用委托执行同一个“加法类”的时候的的区别和利弊. 首先,通过代码定义一个委托和下面三个示例将要调用的方法: ); //模拟该方法运 ...