JavaScript中的Number数字类型学习笔记
作者:Murphywuwu 发布时间:2024-11-15 19:09:06
使用IEEE754格式来表示整数和浮点数值。
浮点数值:该数值中必须包含一个小数点,并且小数点后面必须至少有一位数字。浮点数值需要内存空间是保存整数值的两倍。最高精度是17为小数,但在进行算术运算时其精度远远不如整数。
各种数值类型:十进制,八进制(在严格模式下无效),十六进制
八进制字面量的第一位必须是0,然后是八进制数字序列(0~7)。如果字面值中的数值超出了范围,那么前导0将被忽略,后面的数值将被当做十进制数来解析
070//56
079//79
十六进制字面值的前两位必须是0x,后跟十六进制数字(0~9及A~F)。其中字母A~F可大小也可小写
0xA//10
在进行算术计算时,所有以八进制和十六进制表示的数值最终都将被转换为十进制数值
数值范围:
如果某次计算中的结果中得到了一个超出javascript数值范围的值,那么这个值将被转换为特殊的Infinity值,该值无法参与下一次的计算,因为Infinity是无法参与计算的数值。如果这个数是正数则被转换为Infinity(正无穷),如果这个数是负数则被转换为-Infinity(负无穷)。
-10/0//-Infinity
10/0//Infinity
isInfinite()判断一个数是否有穷。
var result = Number.MAX_VALUE + Number.MAX_VALUE
console.log(isFinity(result));//false
NaN
console.log(NaN === NaN)//false
0/0//NaN
isNaN:接收一个参数,会尝试将这个值转换为数值,返回布尔值
console.log(isNaN('10'));//false
console.log(isNaN('bb'));//true
数值转换
有3个函数可以把非数值转换为数值
Number():使用于任何数值类型。
1.null
Number(null)//0
undefined
Number(undefined)//NaN
2.布尔值
Number(true)//1
Number(false)//0
3.字符串
Number('bb')//NaN,非数值字符
Number('123')//123,数值字符
Number('')//0,空串
4.对象
如果是对象,则调用对象的valueOf()方法,然后依照上述的规则转换返回的值。如果转换的结果是NaN,则调用对象的toString()方法,然后再次依照前面的规则转换返回的字符串值。
5.parseInt()/parseFloat():用于将字符串转换为数值。
parseInt():从第一个字符串开始解析,直到解析到非数字字符,可接受两个参数,第二个参数代表不同的进制,默认转换为十进制数。
parseInt('')//NaN,空串
parseInt(22.4)//22
parseInt('12bu')//12
parseInt('10',2)//2
parseInt('10',8)//8
parseFloat():从第一个字符串开始解析,第一个小数点有效,忽略前导0,只能转换为十进制数值。
parseFloat('')//NaN
parseFloat('090')//90
parseFloat('2.3.4')//2.3
总结
不区分整数值和浮点数, JavaScript中所有数字均用64位浮点数值标识(IEEE 754)。
就像java程序员所熟悉的double类型
取值范围在 ±1.7976931348623157 × 10 308 到 ±5 × 10 −324 之间
文字:
正无穷
负无穷
NaN
Zero
Infinity //rw
Number.POSITIVE_INFINITY // r
1/0
Number.MAX_VALUE + 1
Number.NEGATIVE_INFINITY //rw
-Intifinty //r
-1/0
-Number.MAX_VALUE - 1
不与任何值相等 包括它自己.
NaN //rw
Number.NaN //r
0/0 //计算结果为NaN
Number.MIN_VALUE/2
-Number.MIN_VALUE/2
-1/Infinity
-0
方法
常量
pow // 求幂
round //四舍五入
ceil //向上取整
floor //向下取整
abs //求绝对值
max //最大值
min //最最小值
sqrt
log
exp
acos
asin
atan
atan2
random
sin
cos
PI
E
LN2
LN10
LOG2E
LOG10E
PI
SQRT1_2
SQRT2
十六进制 0x
八进制 0
整数
浮点表示
Math类
无限值
Rounding-error
var x = .3 - .2
var y = .2 - .1
x == y
x == .1 // => false .3 -.2 不等于 ./
y == .1 // => true .2 - .1 等于 .1


猜你喜欢
- 日期包常用函数time.Now(): 获取当前时间package mainimport ( "fmt&q
- 之前做了一个淘宝客返利微信公众号,后来很多人提到过微信返利机器人,现在微信助手开发好了,可以通过微信助手接口功能实现微信返利机器人。流程如下
- 具体步骤:方法一:弹出窗口<body>里加上代码:onblur="self.focus()":<bod
- HTTPX是Python3的功能齐全的HTTP客户端,它提供同步和异步API,并支持HTTP/1.1和HTTP/2安装pip install
- 微信跳一跳自动代码,具体内容如下那个跳一跳python“ * ”,有几个python文件,其中有一个是得到截图,然后鼠标在图片上点击两次,py
- 直线检测原理核心要点:图像坐标空间、参数空间、极坐标参数空间 -> (极坐标)参数空间表决给定一个点,我们一般会写成y=ax+b的形式
- 一.问题描述在二维数组的遍历中,我们经常使用双层for循环。在某些时候,我们并不需要遍历整个二维数组。当条件满足时就应该终止for循环。但是
- 具体用法:1、<%= Counters.Get(CounterName) %>显示计数器的值。2、<% counterva
- 一,斑马线的数据集数据集的构成:testtrainzebra corssing:56zebra corssing:168other:54ot
- 关于缓存剩下的问题是数据的隐私性以及在级联缓存中数据应该在何处储存的问题。通常用户将会面对两种缓存: 他或她自己的浏览器缓存(私有缓存)以及
- 前言学会向程序中添加必要的注释,也是很重要的。注释不仅可以用来解释程序某些部分的作用和功能(用自然语言描述代码的功能),在必要时,还可以将代
- 介绍Redis是一个开源的基于内存也可持久化的Key-Value数据库,采用ANSI C语言编写。它拥有丰富的数据结构,拥有事务功能,保证命
- 用两个文件.GLOBAL.ASA和online.asp下面分别给出两个文件的源代码.呵呵,我也是菜鸟,大家加油哟!<SCR
- 一:脚本需求利用Python3查询网站权重并自动存储在本地数据库(Mysql数据库)中,同时导出一份网站权重查询结果的EXCEL表格数据库类
- 前一阵子工作项目上的事情忙的焦头烂额,最近要进行部门调整将要去做新的项目。又要学习很多新的知识了,还是很兴奋激动的。今天下班回来查看了一下V
- demo实现脚本下载安装工具需要python3,apktool.jar,apktool1.用apktool进行反编译cmd = 'a
- banner 设计会严重影响广告投放效果,在此建议相关设计人员,在设计FLASH BANNER的时候考虑到以下问题.1.
- 核心代码由于HttpServletRequest不能直接取出文件数据,所以将其强制转换为MultipartHttpServletReques
- 1、字符串编码在go中rune是一个unicode编码点。我们都知道UTF-8将字符编码为1-4个字节,比如我们常用的汉字,UTF-8编码为
- 蜜蜂可以看到紫外线,人则看不到;蛇和蚊子可以看到红外线,人则看不到。火狐(Firefox)浏览器也可以看到人们看不到的东西,但迄今为止,这些