取整:

向下取整Math.floor(),向上取整Math.ceil(),四舍五入Math.round()),保留有效数位n.toFixed(),产生大于等于0小于1的随机数Math.random()

  功能 函数 示例
整型 向下取整 Math.floor() Math.floor(1.1)==>1
向上取整 Math.ceil() Math.ceil(1.1) ==>2
四舍五入 Math.round()  Math.round(1.1)==>1
 Math.round(1.6)==>2
浮点型 保留有效数位   n.toFixed()  1.442.toFixed(2)==>1.44
 1.446.toFixed(2)==>1.45
随机数 Math.random()  Math.random()==>0.38078270980122775

字符串转换成数字:

将字符串转换成数字,用parseInt()函数和parseFloat()函数,isNaN()函数来检测 转换后的类型

var i = parseInt('abc');
if (isNaN(i))
{
alert('NaN value');
}

注意:

  • 只有字符串中的第一个数字会被返回。
  • 开头和结尾的空格是允许的。
  • 如果字符串的第一个字符不能被转换为数字,那么 parseInt() 和 parseFloat() 都会返回 NaN。
  • 在字符串以"0"为开始时旧的浏览器默认使用八进制基数。ECMAScript 5,默认的是十进制的基数。

 ParseInt:结果返回一个整数

如果 string 以 "0x" 开头,parseInt() 会把 string 的其余部分解析为十六进制的整数。如果 string 以 0 开头,那么 ECMAScript v3 允许 parseInt() 的一个实现把其后的字符解析为八进制或十六进制的数字。如果 string 以 1 ~ 9 的数字开头,parseInt() 将把它解析为十进制的整数

如果解析不到数字,则将返回一个NaN的值,可以用isNaN()函数来检测;

parseInt("10");			        //返回 10
parseInt("19",10); //返回 19 (10+9)
parseInt("11",2); //返回 3 (2+1)
parseInt("17",8); //返回 15 (8+7)
parseInt("1f",16); //返回 31 (16+15)
parseInt("010"); //未定:返回 10 或 8(在谷歌,火狐,360极速浏览器上测试的结果均为10)

parseFloat:结果返回一个浮点数

如果在解析过程中遇到了正负号(+ 或 -)、数字 (0-9)、小数点,或者科学记数法中的指数(e 或 E)以外的字符,则它会忽略该字符以及之后的所有字符,返回当前已经解析到的浮点数。同时参数字符串首位的空白符会被忽略。 

console.log(parseFloat("10"))             //10
console.log(parseFloat("10.00")) //10
console.log(parseFloat("10.33")) //10.33
console.log(parseFloat("34 45 66")) //34
console.log(parseFloat(" 60 ")) //60
console.log(parseFloat("40 years")) //40
console.log(parseFloat("He was 40")) //NaN
console.log(parseFloat("3.14")) //3.14
console.log(parseFloat("314e-2")) //3.14
console.log(parseFloat("0.0314E+2")) //3.14
console.log(parseFloat("3.14more n")) //3.14
console.log(parseFloat("-3.14")) //-3.14
console.log(parseFloat("=3.14")) //NaN
console.log(parseFloat("314e-2")) //NaN
console.log(parseFloat("e3.14")) //NaN

js数字转换成字符串

将字符串转换成数字,得用到String类的toString方法

var i = 10;
var s = i.toString();
alert(typeof s); //将输出 string----typeof i number

js数字与字符串的区别

js的数字的加法与字符串的连接都是 + 符号, 所以究竟是加还是字符串的连接就取决与变量的类型。

var a = 'abc' + 'def';                   //abcdef,字符串与字符串是连接
var a = 10 + 5; //15,数字是加
var a = 'abc' + 23; //abc23,字符串与数字,自动将10转换成字符串了
var a = 'abc' + 10 + 20 + 'cd'; //abc1020cd
var a = 10 + 20 + 'abc' + 'cd'; //30abccd,可以数字加的先数字加,然后再连接
var a = 10 + '20'; //1020 string
var a = 10 - '20'; //-10 number
var a = '20' + 10; //20100 string
ar a = '20' - 10; //10 number

如果从html页面元素得到的值,想按数字加,就需要先转换为数字,因为从页面得到的值默认是字符串

js玩转数字----取整,四舍五入,数字字符串转换的更多相关文章

  1. 你可能不知道的 JavaScript 中数字取整

    网上方法很多,标题党一下,勿拍 ^_^!实际开发过程中经常遇到数字取整问题,所以这篇文章收集了一些方法,以备查询. 常用的直接取整方法 直接取整就是舍去小数部分. 1.parseInt() parse ...

  2. JavaScript 系列--JavaScript一些奇淫技巧的实现方法(三)数字取整,数组求和

    一.前言 简短的sleep函数,获取时间戳:https://www.mwcxs.top/page/746.html 数字格式化 1234567890 --> 1,234,567,890:argr ...

  3. AS3数字取整

    AS3 数字取整方法int()去掉小数点trace(int(3.14)); //输出3trace(int(-3.14)); //输出-3Math.round()方法:Math.round()可以四舍五 ...

  4. js 小数取整,js 小数向上取整,js小数向下取整

    js 小数取整,js 小数向上取整,js小数向下取整 >>>>>>>>>>>>>>>>>>& ...

  5. js中对小数取整

    js中对小数取整的函数,需要的朋友可以参考下.   1.丢弃小数部分,保留整数部分 js:parseInt(7/2) 2.向上取整,有小数就整数部分加1 js: Math.ceil(7/2) 3,四舍 ...

  6. js区分字符串和数字,有时候需要将字符串转换成数字

    js区分字符串和数字,有时候需要将字符串转换成数字 :parseInt

  7. python中的数字取整(ceil,floor,round)概念和用法

    python中的数学运算函数(ceil,floor,round)的主要任务是截掉小数以后的位数.总体来说 就是取整用的.只是三者之间有微妙的区别:   floor() :把数字变小 ceil() : ...

  8. javascript高逼格代码实现数组去重,JSON深度拷贝,匿名函数自执行,数字取整等

    1.如何装逼用代码骂别人傻逼 (!(~+[])+{})[--[~+""][+[]]*[~+[]] + ~~!+[]]+({}+[])[[~!+[]]*~+[]] 2.如何优雅的用代 ...

  9. JS中对小数取整的函数,向上(下),四舍五入取整

    1.丢弃小数部分,保留整数部分 js:parseInt(7/2) 2.向上取整,有小数就整数部分加1 js: Math.ceil(7/2) 3,四舍五入. js: Math.round(7/2) 4, ...

随机推荐

  1. redis学习(七)jedis客户端

    1.下载jedis的jar包 http://repo1.maven.org/maven2/redis/clients/jedis/2.8.1/ 2.启动redis后台 3.测试联通 package c ...

  2. docker (centOS 7) 使用笔记5 - weave网络

    weave官网 https://www.weave.works 1. 下载安装 sudo curl -L git.io/weave -o /usr/local/bin/weave sudo chmod ...

  3. iOS 关于请求参数在cookie里面

    一.首先了解一下什么cookie cookie是在客户端存储服务器状态的一种机制.web服务器可以通过set-cookie或者set-cookie2 HTTP头部设置cookie. Cookie可以分 ...

  4. asp.net几种开源上传控件,flash,ajax版,支持多文件

    原文发布时间为:2010-03-18 -- 来源于本人的百度文章 [由搬家工具导入] 1、AspnetUpload 地址:http://www.aspnetupload.net/ 最早接触的上传控件。 ...

  5. Android Bluetooth抓包

    1. 前提 这里介绍一种在Android上捕获蓝牙数据包的方法 首先你要有一部Android手机:然后你的Android系统版本要在4.4及以上 我没有做过Android开发,不清楚开发者们是如何抓蓝 ...

  6. ext4向后兼容代码

    ext.h: #define EXT4_GOOD_OLD_INODE_SIZE 128 ... #define EXT4_GOOD_OLD_REV 0 /* The good old (origina ...

  7. LeetCode OJ-- Letter Combinations of a Phone Number ***

    https://oj.leetcode.com/problems/letter-combinations-of-a-phone-number/ 使用递归,深搜,使用 map 保存已经处理过的结果 cl ...

  8. 内存 : CL设置

    CL(CAS Latency):为CAS的延迟时间,这是纵向地址脉冲的反应时间,也是在一定频率下衡量支持不同规范的内存的重要标志之一. 内存负责向CPU提供运算所需的原始数据,而目前CPU运行速度超过 ...

  9. SpringMVC+Shiro权限管理(转载)

    源码 http://pan.baidu.com/s/1pJzG4t1 SpringMVC+Shiro权限管理 博文目录 权限的简单描述 实例表结构及内容及POJO Shiro-pom.xml Shir ...

  10. 关于npm无法安装依赖包以及安装包缓慢的解决方法

    因为npm的服务器在国外,导致我们使用npm安装第三方包缓慢.而且有的第三方包是被墙的. 因此,作为墙内人,必须解决这个问题,否则开发起来实在是太坑了! 推荐大家使用淘宝的镜像(cnpm),它以每10 ...