类型判断

isNaN - 是否是 NaN(Not a Number)。主要用来判断 NaN 是否是 NaN,因为 NaN == NaN 是 false。

isNaN(NaN);       // true
isNaN(parseFloat('abc')); // true

isNaN(37);        // false
isNaN("37");      // false
isNaN("37.37");   // false

isNaN("");        // false: 会被转化转化成0
isNaN(" ");       // false: 会被转化转化成0

isNaN(undefined); // true
isNaN({});        // true

isNaN(true);      // false
isNaN(null);      // false

    isFinite - 是否是有限的数字。

isFinite(Infinity);  // false
isFinite(NaN);       // false
isFinite(-Infinity); // false
isFinite(2/0);       // false:2/0 的结果是 Infinity

isFinite(0);         // true
isFinite(2e64);      // true
isFinite(null);      // true

类型转化

parseFloat - 字符串转数字。

var number = parseFloat('4.6');
number;// 4.6

parseInt(str [,进制]) - 字符串转整数。

var number = parseInt('4.6', 10);
number;// 4

数字转字符串。

var str = 4.5 + '';
str; // '4.5'

Number 上的常用属性方法

Number.prototype.toFixed([精度]) - 取几位小数。会对取的最后一位数字做四舍五入的操作。注意:返回值类型为字符串。

3.1415.toFixed(2);// '3.14'
3.1455.toFixed(2);// '3.15'
3.1415.toFixed();// '3'

  Number.prototype.toPrecision() - 返回满足精度的字符串。会对取的最后一位数字做四舍五入的操作。

3.1415.toPrecision(2);// '3.1'
3.1544.toPrecision(2);// '3.2'
13.1415.toPrecision(2);// '13'
130.515.toPrecision(2);// 1.3e+2

  Number.prototype.toExponential(精度) - 返回数字的科学计数法的字符串。

3.14.toExponential()// '3.14e+0'
1300000000.1415.toExponential(2)// '1.30e+9'

Number.MIN_VALUE - 最小值。小于这个值的会被转换成 0。

Number.MIN_VALUE; // 5e-324

Number.MAX_VALUE - 最大值。大于这个值的会被转换成 Infinity。

Number.MAX_VALUE; // 1.79e+308

Math 上的常用属性方法

Math.PI - 圆周率的近似值。
    ``
    Math.PI; // 3.14159...

    Math.ceil(数字) - 如果是小数,返回比参数大最近的整数。

Math.ceil(4.3);// 5
Math.ceil(4.8);// 5
Math.ceil(-4.3);// -4
Math.ceil(2);// 2

   Math.floor(数字) - 如果是小数,返回比参数小最近的整数。

Math.floor(3.5);// 3
Math.floor(-3.5);// -4

Math.round(数字) - 四舍五入。

Math.round(3.5);// 4
Math.round(3.4);// 3

   Math.random() - 返回 0 到 1 之间的一个随机数。包括 0,不包括1。

Math.random();// 可能是 0.008179764728993177
Math.random();// 可能是 0.493650607066229

    Math.abs(数字) - 返回绝对值。

Math.abs(-2); // 2
Math.abs(2); // 2
Math.abs(0); // 0

   Math.min(数字1[, 数字2, [, ...] ] - 返回一群数字中的最小值。与其相反的函数为 Math.max。

Math.min(0, 10, 5.4, -3.4); // -3.4
Math.min.apply(null,[0, 10, 5.4, -3.4]); // -3.4 (求数组中的最小值)

Math 上还有与三级函数,指数,幂相关的函数。

JavaScript 数字相关的转换和方法的更多相关文章

  1. javaScript将string转换成array,并将汉字按汉语拼音排序方法

    亲测,代码如下: var str = '中华人民共和国民主富强': var arr = str.split("");//字符串装换数组方法一 //arr = str.replace ...

  2. JavaScript中String对象的方法介绍

    1.字符方法 1.1 charAt() 方法,返回字符串中指定位置的字符. var question = "Do you like JavaScript?"; alert(ques ...

  3. 使用js进行string和json之间转换的方法

    在数据传输过种中,json是以文本,即字符串的形式传递,字符串形似Json对象: var str1 = '{ "name": "Amy", "sex& ...

  4. URL地址中中文乱码详解(javascript中encodeURI和decodeURI方法、java.net.URLDecoder.encode、java.net.URLDecoder.decode)

    引言: 在Restful类的服务设计中,经常会碰到需要在URL地址中使用中文作为的参数的情况,这种情况下,一般都需要正确的设置和编码中文字符信息.乱码问题就此产生了,该如何解决呢?且听本文详细道来. ...

  5. JavaScript里值比较的方法

    JavaScript里值比较的方法 参考资料 一张图彻底搞懂JavaScript的==运算 toString()和valueof()方法的区别 Object.is 和 == 与 === 不同 == 运 ...

  6. JavaScript中常用的字符串方法

    1. charAt(x) charAt(x)返回字符串中x位置的字符,下标从 0 开始. //charAt(x) var myString = 'jQuery FTW!!!'; console.log ...

  7. JavaScript 数组(Array)对象的方法

    JavaScript 数组(Array)对象的方法 concat() 描述:用于连接两个或多个数组.该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本. 原型:arrayObject.conc ...

  8. javascript的数值转换

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

  9. 多浏览器兼容用javascript获取url参数的方法比较推荐的一种

    多浏览器兼容用javascript获取url参数的方法比较推荐的一种 <script language = javascript> function request(paras){ var ...

随机推荐

  1. Android中计算时间差的实现方法

    今天为“至简天气”增加了一项功能:在启动时根据上次更新数据的时间判断是否有必要更新数据,因为 weather.com.cn 的实况数据貌似是25分钟才会刷新一次,只有在据上次更新的时间达25分钟以上才 ...

  2. 工具类_java 操作cookie

    import java.io.UnsupportedEncodingException;import java.net.URLDecoder;import java.net.URLEncoder;im ...

  3. iPhone 6 为何坚持1GB内存?

    原文地址:http://digi.ifeng.com/expert/special/96/#6467378-qzone-1-9015-46cf52f061fd6e814686a918cedcb024 ...

  4. linux下mysql出现Access denied for user 'root'@'localhost' (using password: YES)解决方法

    # /etc/init.d/mysql stop # mysqld_safe --user=mysql --skip-grant-tables --skip-networking & # my ...

  5. Uber司机手机终端问答篇

    手机客户端 Q:自带安卓手机可以使用吗? A:安卓终端已经推出,请在微信页面点左下菜单选取“下载司机端APP”查看! Q:对自带苹果手机的要求? A:4S型号及以上且未越狱:使用3G或4G网络 Q:客 ...

  6. display:table标签来自动改变列宽 改变的同时table的整体宽度跟随变化

    发现公司里的所有分页功能都是通过display:talbe来实现的,但是用户最近说要让表格列宽可以拖动:所有我就寻找了好多的办法:网上找了很多的资料,但是都不是我要的效果因为他们都是列宽不改变要不就是 ...

  7. [PHP] PHP初学者想了解"伪静态",必须看这个贴 [复制链接] [推荐]

    一.何为“伪静态”? 以传智播客bbs论坛为例,这篇帖子的链接地址原本应该是“http://bbs.itcast.cn/forum.php?mod=post&action=newthread& ...

  8. Ubuntu下lamp(PHP+Mysql+Apache)搭建+完全卸载卸载方法

    安装apache2 sudo apt-get install apache2 安装完成,运行如下命令重启下: sudo /etc/init.d/apache2 restart 在浏览器里输入http: ...

  9. 高效率JavaScript编写技巧

    最近在编写一个JavaScript框架,发现有很多细节注意得不够,担心长时间积累会导致框架实际应用的时候出现严重的效率问题.于是开始关注JavaScript提高效率的一些技巧,在这里分享给大家. 1. ...

  10. 记userscripts.org

    发现一些Firefox用户脚本不起作用,userscripts.org访问不能有一个很长的一段时间,我还以为出了什么问题没出去检查.前几天有时间检查脚本,在路上,然后返回到userscripts.or ...