js数值转换
先来几个题吧:
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)
1.允许有一位小数点“.”,即解析有效的浮点数。
2.忽略前导0始终按十进制解析,并且十六进制格式的字符串会被转换成0.
js数值转换的更多相关文章
- JS 数值转换、加减乘除
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 小tips:JS数值之间的转换,JS中最大的Number是多少?,JS == 与 === 的区别
JS数值之间的转换 Number(), parseInt(),parseFloat() Number()函数的转换规则如下: 1.如果boolean值,true和false将分别被转换为1和02.如果 ...
- Javascript数值转换(string,int,json)
数值: 在JavaScript中,数值转换一般有三种方式: 一.Number(param)函数:param可以用于任何数据类型 1.1 param是Boolean值,true和false分别转换为1和 ...
- javascript的数值转换
在javascript中数值转换,最要的一点是函数第一个字母必须要大写.js中的函数有string字符型.number数值型.null空型.boolean布尔型.undefined未定义. 具体的转换 ...
- 【前端】深入浅出Javascript中的数值转换
由于Javascript是一门弱类型的语言,在我们的代码中无时无刻不在发生着类型转换,所以了解Javascript中的类型转换对于了解我们认识Javascript的运行原理至关重要. 本文主要从数值转 ...
- Js强制转换
Js强制转换 ParseInt(a,b):整型 只能放字符串,b为基数.声明前面的数是几进制.因为只能放字符串,所以无论放什么都转换为字符串: 如果String以0x开头则为16进制的整数: ‘036 ...
- Js 日期转换函数(UTC时间转换及日期想加减)
IOS上Js日期转换中new Date("yyyy-mm-dd")不能正常工作,必须使用new Date("yyyy/MM/dd"); 日期相加减: Date. ...
- JavaScript数值转换总结
在JavaScript中,数值转换一般有三种方式: 一.Number(param)函数:param可以用于任何数据类型 1.1 param是Boolean值,true和false分别转换为1和0: ...
- JavaScript进阶(四)js字符串转换成数字的三种方法
js字符串转换成数字的三种方法 在js读取文本框或者其它表单数据的时候获得的值是字符串类型的,例如两个文本框a和b,如果获得a的value值为11,b的value值为9 ,那么a.value要小于b. ...
随机推荐
- vmware设置centos虚拟机nat联网(转)
今天在vmware虚拟主机中安装hearbeat,为了使用最新的版本,选用编译安装了.在编译过程中,需要连接被墙的网站下载文件,那只能用vpn,但我使用的是桥接方式联网,使用不了真实主机的vpn,于是 ...
- Print! Print! Print!
print语句可以实现打印--只是对程序员友好的标准输出流的接口而已. 从技术角度来讲,这是把一个或多个对象转换为其文本表达形式,然后发送给标准输出或另一个类似文件的流. 更详细地说,在Python中 ...
- swift笔记06
for in循环 for 被乘数 in 1...5{ println("\(被乘数) 乘以 5 等于 \( 被乘数 * 5)"); } let 女神们 = ["小林&q ...
- IIS搭建的http文件服务器
使用C#WebClient类访问(上传/下载/删除/列出文件目录)由IIS搭建的http文件服务器 前言 为什么要写这边博文呢?其实,就是使用C#WebClient类访问由IIS搭建的http文件服务 ...
- 【写一个自己的js库】 3.添加几个处理字符串的方法
1.生成重复的字符串 if(!String.repeat){ String.prototype.repeat = function (count){ return new Array(count + ...
- android的注意点
1.使用Message.callback Message msg = Message.obtain(myThreadHandler,new Runnable() { @Override public ...
- Visual C++编程命名规则
一.程序风格: 1.严格采用阶梯层次组织程序代码: 各层次缩进的分格采用VC的缺省风格,即每层次缩进为4格,括号位于下一行.要求相匹配的大括号在同一列,对继行则要求再缩进4格.例如 ...
- Go语言实现-观察者模式
前前言 这个类经过我的正式投入使用啊,发现不对劲,这样做可能会导致线程死锁 比如你dispatch一个event,然后在这个回调里把那个事件的侦听给remove掉了,那么就会导致线程死锁(这个问题找了 ...
- Unable to resolve target 'android-XX'的问题解决
1.问题现象(Unable to resolve target 'android-XX') 将低版本的代码导入eclipse时,常遇到这样的问题:Unable to resolve target 'a ...
- HDFS的运行原理(转载)
原文地址:http://www.cnblogs.com/laov/p/3434917.html 简介 HDFS(Hadoop Distributed File System )Hadoop分布式文件系 ...