《JS权威指南学习总结--3.1数字》
3.1数字
内容要点:
一.数字直接量:当一个数字直接出现在JS程序中,我们称之为数字直接量。
二.JS中的算术运算
Math.pow(2,53)
// => 9007199254740992: 2 的 53次幂
Math.round(.6)
// => 1.0: 四舍五入
Math.ceil(.6)
// => 1.0: 向上求整
Math.floor(.6)
// => 0.0: 向下求整
Math.abs(-5)
// => 5: 求绝对值
Math.max(x,y,z)
// 返回最大值
Math.min(x,y,z)
// 返回最小值
Math.random()
// 生成一个大于等于0小于1.0的伪随机数
Math.PI
// π: 圆周率
Math.E
// e: 自然对数的底数
Math.sqrt(3)
// 3的平方根
Math.pow(3, 1/3)
// 3的立方根
Math.sin(0)
// 三角函数: 还有Math.cos, Math.atan等
Math.log(10)
// 10的自然对数
Math.log(100)/Math.LN10
// 以10为底100的对数
Math.log(512)/Math.LN2
// 以2为底512的对数
Math.exp(3)
// e的三次幂
var
then =
new
Date(2011, 0, 1);
// 2011年1月1日
var
later =
new
Date(2011, 0, 1, 17, 10, 30);
// 同一天, 当地时间5:10:30pm,
var
now =
new
Date();
// 当前日期和时间
var
elapsed = now - then;
// 日期减法:计算时间间隔的毫秒数
later.getFullYear()
// => 2011
later.getMonth()
// => 0: 从0开始计数的月份
later.getDate()
// => 1: 从1开始计数的天数
later.getDay()
// => 5: 得到星期几, 0代表星期日,5代表星期一
later.getHours()
// => 当地时间17: 5pm
later.getUTCHours()
// 使用UTC表示小时的时间,基于时区
x==y; //返回false两个值不相等
这个问题在任何二进制浮点数的编程语言中都会出现。
计算没有问题,但比较两个数的时候需要注意。
四.四舍五入问题和toFixed()方法:
1.注意toFixed是number方法,下面这个是不能用的
错误示例:
var a=10.005;
a.toFixed(2);
alert(a); =>10.005
需要将其转换为number类型:
正确示例:
var a=10.005;
var num=Number(a).toFixed(2);
alert(num); =>10.01
取两位小数:
var b=13.005;//13.01
var c=13.015;//13.02
var d=13.025;//13.03
var f=13.035;//13.04
var g=13.045;//13.04
var h=13.055;//13.05
var j=13.065;//13.06
var k=13.075;//13.07
var l=13.085;//13.08
var z=13.095;//13.10
console.log(Number(b).toFixed(2));//13.01
console.log(Number(c).toFixed(2));//13.02
console.log(Number(d).toFixed(2));//13.03
console.log(Number(f).toFixed(2));//13.04
console.log(Number(g).toFixed(2));//13.04
console.log(Number(h).toFixed(2));//13.05
console.log(Number(j).toFixed(2));//13.06
console.log(Number(k).toFixed(2));//13.07
console.log(Number(l).toFixed(2));//13.09
console.log(Number(z).toFixed(2));//13.10
4.解决方法
//重写toFixed方法
Number.prototype.toFixed=function(len)
{
var tempNum = 0;
var s,temp;
var s1 = this + "";
var start = s1.indexOf(".");
//截取小数点后,0之后的数字,判断是否大于5,如果大于5这入为1
if(s1.substr(start+len+1,1)>=5)
tempNum=1;
//计算10的len次方,把原数字扩大它要保留的小数位数的倍数
var temp = Math.pow(10,len);
//求最接近this * temp的最小数字
//floor() 方法执行的是向下取整计算,它返回的是小于或等于函数参数,并且与之最接近的整数
s = Math.floor(this * temp) + tempNum;
return s/temp;
};
《JS权威指南学习总结--3.1数字》的更多相关文章
- 简单物联网:外网访问内网路由器下树莓派Flask服务器
最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...
- 利用ssh反向代理以及autossh实现从外网连接内网服务器
前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...
- 外网访问内网Docker容器
外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...
- 外网访问内网SpringBoot
外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...
- 外网访问内网Elasticsearch WEB
外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...
- 怎样从外网访问内网Rails
外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...
- 怎样从外网访问内网Memcached数据库
外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...
- 怎样从外网访问内网CouchDB数据库
外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...
- 怎样从外网访问内网DB2数据库
外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...
- 怎样从外网访问内网OpenLDAP数据库
外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...
随机推荐
- drupal 连表查询+分页
$query = db_select('Table','t'); $query->join('Table_A','a','on条件); $query->join('Table_B','b' ...
- 在CDlinux下编译安装无线网卡驱动
环境 主机:ThinkPadT440P 系统:CDlinux9.7.1 概述 准备利用CDlinux来破解周围的wifi密码来免费蹭网,由于笔记本是新买的,系统没有自带驱动,只能自己手动到网上下载.编 ...
- js的日期、定时器
第一.js的日期 js的日期是用内置对象Date来操作,首先先创建一个日期 var date=new Date();,然后就可以调用它的API来获取年月日.时分秒等等,这不是本文重点,本文重点讲如何把 ...
- mysql 用户权限设置
windows使用的zip包的mysql.配置成功后,root用户没有权限,需要进行权限分配.管理员运行cmd,执行以下命令,进入mysql. mysql -u root -p Passwd Pass ...
- 自定义控件学习之canvas和paint相关知识点学习
1,继承自view,实现ondraw方法: 初始化画笔,TextPaint paint,并设置画笔属性: paint.setFlags(Paint.ANTI_ALIAS_FLAG):画笔抗锯齿. pa ...
- LINQ里的“equals”和“==”的区别
对于值类型,如果对象的值相等,则相等运算符 (==) 返回 true,否则返回 false.对于string 以外的引用类型,如果两个对象引用同一个对象,则 == 返回 true.对于 string ...
- php 语音参考
如果文件内容是纯 PHP 代码,最好在文件末尾删除 PHP 结束标记.这可以避免在 PHP 结束标记之后万一意外加入了空格或者换行符,会导致 PHP 开始输出这些空白,而脚本中此时并无输出的意图. ...
- Codeforces Round #367 (Div. 2) C. Hard problem
题目链接:Codeforces Round #367 (Div. 2) C. Hard problem 题意: 给你一些字符串,字符串可以倒置,如果要倒置,就会消耗vi的能量,问你花最少的能量将这些字 ...
- Gentoo网络配置
网卡识别配置 要开始配置你的网卡,你首先需要告诉Gentoo RC系统你的网卡. 可以用ifconfig命令查看自己网卡名字: ifconfig -a 网卡名字(如eth0)的识别是通过在/etc/i ...
- 洛谷-语文成绩-[有奖]洛谷5月月赛:kkksc03的三大神器
题目背景 Background语文考试结束了,成绩还是一如既往地有问题. 题目描述 Description语文老师总是写错成绩,所以当她修改成绩的时候,总是累得不行.她总是要一遍遍地给某些同学增加分数 ...