JavaScript 数字类型

目前有两种类型:

  1. number
  2. BigInt 是表示任意长度的整数

数字的三个特殊值

  1. Infinity

    属性用于存放表示正无穷大的数值。
  2. -Infinity

    属性用于存放表示负无穷大的数值。
  3. NaN

    属性用于引用特殊的非数字值。

e可以代替任意零

  • 正数:
//用法
1e3 = 1 * 1000
1.23e6 = 1.23 * 1000000
  • 负数
//用法
let ms = 1e-6; // 1 的左边有 6 个 0

十六进制,二进制和八进制数字

格式:

  • 十六进制:0x数字
  • 八进制进制:0b数字
  • 二进制进制:0o数字

十六进制书不分大小写

数字方法及属性:

JavaScript 有一个内建的 Math 对象,它包含了一个小型的数学函数和常量库。

toString()

//用法
let num = 255;
num.toString(16); // ff
num.toString(2); // 11111111

floor() ceil() round() trunc()

  1. 数字.floor

    向下舍入:3.1 变成 3,-1.1 变成 -2。
  2. 数字.ceil

    向上舍入:3.1 变成 4,-1.1 变成 -1。
  3. 数字.round

    向最近的整数舍入:3.1 变成 3,3.6 变成 4,-1.1 变成 -1。
  4. 数字.trunc(IE 浏览器不支持这个方法)

    移除小数点后的所有内容而没有舍入:3.1 变成 3,-1.1 变成 -1。
//用法
Math.floor(value)
Math.ceil(value)
Math.round(value)
Math.trunc(value)

这个是总结它们之间差异的表格:

Math.floor Math.ceil Math.round Math.trunc
3.1 3.1 3.1 3.1
3.1 3 4 3 3
3.6 3 4 4 3
-1.1 -2 -1 -1 -1
-1.6 -2 -1 -2 -1

toFixed()

方法可把 Number 四舍五入为指定小数位数的数字。

//用法
let num = 1.1111;
num.toFixed(1)

注意 : 返回的是一个字符

isNaN() 与 isFinite()

  1. isNaN(value)

    将其参数转换为数字,然后测试它是否为 NaN:
  2. isFinite(value)

    将其参数转换为数字,如果是常规数字,则返回 true,而不是 NaN/Infinity/-Infinity:
//用法
isNaN(NaN);// true
isNaN("str");// true
isFinite(1); // true
isFinite("str"); // false,因为是一个特殊的值:NaN
isFinite(Infinity); // false,因为是一个特殊的值:Infinity

注意,在所有数字函数中,包括 isFinite,空字符串或仅有空格的字符串均被视为 0。

parseInt() 与 parseFloat()

从字符串中“读取”数字,直到无法读取为止。如果发生 error,则返回收集到的数字。

函数 parseInt 返回一个整数,

函数 parseFloat 返回一个浮点数:

parseInt(string, radix); 可以传两个参数

第一个参数为数字(必填),第二个参数为表示要解析的数字的基数(选填)。该值介于 2 ~ 36 之间。

//用法
parseInt('10px'); // 10
parseFloat('1.2em'); // 1.2 parseInt('44.4'); // 44,只返回整数部分
parseFloat('1.2.3.4'); // 1.2,在第二个点出停止了读取 parseInt('a1'); // NaN,第一个符号停止了读取 parseInt("1f",16);// 31

注意:如果字符串的第一个字符不能被转换为数字,那么parseInt() 与 parseFloat() 会返回 NaN。

其他数学函数

random()

返回一个从 0 到 1 的随机数(不包括 1)

//用法
Math.random();
Math.max() 与 Math.min()

从任意数量的参数中返回最大/最小值

//用法
Math.max(1, 3, 5, -1); // 5
Math.min(1, 4, 6 ,7 ); // 1
Math.pow()

返回 参数一 的给定 参数二 次幂

Math.pow()必须有两个参数,第一个参数是 底数 (必须是数字) 第二个参数是 幂数 (必须是数字)

//用法
Math.pow(2, 3); // 2**3=8

总结

Math 对象用于执行数学任务。

使用 Math 的属性和方法的语法:

//用法
var pi_value=Math.PI;
var sqrt_value=Math.sqrt(15);

注意:Math 对象并不像 Date 和 String 那样是对象的类,因此没有构造函数 Math(),像 Math.sin() 这样的函数只是函数,不是某个对象的方法。您无需创建它,通过把 Math 作为对象使用就可以调用其所有属性和方法。

属性 描述
E 返回算术常量 e,即自然对数的底数(约等于2.718)。
LN2 返回 2 的自然对数(约等于0.693)。
LN10 返回 10 的自然对数(约等于2.302)。
LOG2E 返回以 2 为底的 e 的对数(约等于 1.414)。
LOG10E 返回以 10 为底的 e 的对数(约等于0.434)。
PI 返回圆周率(约等于3.14159)。
SQRT1_2 返回返回 2 的平方根的倒数(约等于 0.707)。
SQRT2 返回 2 的平方根(约等于 1.414)。
方法 描述
abs(x) 返回数的绝对值。
acos(x) 返回数的反余弦值。
asin(x) 返回数的反正弦值。
atan(x) 以介于 -PI/2 与 PI/2 弧度之间的数值来返回 x 的反正切值。
atan2(y,x) 返回从 x 轴到点 (x,y) 的角度(介于 -PI/2 与 PI/2 弧度之间)。
ceil(x) 对数进行上舍入。
cos(x) 返回数的余弦。
exp(x) 返回 e 的指数。
floor(x) 对数进行下舍入。
log(x) 返回数的自然对数(底为e)。
max(x,y) 返回 x 和 y 中的最高值。
min(x,y) 返回 x 和 y 中的最低值。
pow(x,y) 返回 x 的 y 次幂。
random() 返回 0 ~ 1 之间的随机数。
round(x) 把数四舍五入为最接近的整数。
sin(x) 返回数的正弦。
sqrt(x) 返回数的平方根。
tan(x) 返回角的正切。
toSource() 返回该对象的源代码。
valueOf() 返回 Math 对象的原始值。

本文参考:

https://www.w3school.com.cn/

https://javascript.info/

JavaScript基础 数字类型的更多相关文章

  1. python基础-数字类型及内置方法

    --数字类型及内置方法 整型-int 用途:多用于年龄.电话.QQ号等变量 定义方法 age = 18 # age = int(18) 常用方式:多用于数学计算 # int(x)将x转换成整数,是向下 ...

  2. EasyUI datagird 排序 按数字类型的问题

    easyui datagird 默认显示的数据都是字符, 对要数字列进行排序规则,需要自定义排序规则如果按字符排序 27竟然小于4 这不是我们想要的.解决方案 <table id='grid'c ...

  3. 【你不知道的javaScript 中卷 笔记1】javaScript中的类型与值

    一.类型与值 1.0 javaScript 七种内置类型: 空值(null) 未定义(undefined) 布尔值( boolean) 数字(number) 字符串(string) 对象(object ...

  4. JavaScript基础系列(变量与类型)

    以下内容将JavaScript简称为JS 打开本文时不管你是零基础的初学者还是其他语言的老兵,我都想说程序语言的基础支撑起了整个网络世界,不把这些基础学透之后稍复杂的内容会让你寸步难行. 现在先给编程 ...

  5. 你真的懂JavaScript基础类型吗

    夯实Javascript基础. 基本类型有六种: null,undefined,boolean,number,string,symbol. 基本类型的值是保存在栈内存中的简单数据段 基础类型特性 基础 ...

  6. JavaScript基础回顾一(类型、值和变量)

    请看代码并思考输出结果 var scope = 'global'; function f(){ console.log(scope); var scope = 'local'; console.log ...

  7. 前端知识体系:JavaScript基础-变量和类型

    前端工程师自检清单 1. JavaScript规定了几种语言类型 2. JavaScript对象的底层数据结构是什么 3. Symbol类型在实际开发中的应用.可手动实现一个简单的 Symbo 4. ...

  8. JavaScript 基础类型,数据类型

    1.基础类型:undefined,null,Boolean,Number,String,Symbol Undefined类型:一个没有被赋值的变量会有个默认值undefined; Null类型:nul ...

  9. javaScript中Number数字类型方法入门

    前言 Number和Math都属于JavaScript中的内置对象,Number数字类型作为基础数据类型,我们在开发过程中会经常用到,包括数字精度的格式化,还有字符串转换成数字等操作. Number数 ...

随机推荐

  1. Java实现小程序微信支付

    小程序支付流程交互图: 进入小程序,下单,请求下单支付,调用小程序登录API来获取Openid,生成商户订单 // pages/pay/pay.js var app = getApp(); Page( ...

  2. Kickstart无人值守原理及简介

    原文转自:https://www.cnblogs.com/itzgr/p/10029461.html作者:木二 目录 一 简介及原理 二 搭建无人值守步骤 三 PXE介绍 四 Kickstart简介 ...

  3. MySQL读写IO的操作过程解析

    数据库作为存储系统,所有业务访问数据的操作都会转化为底层数据库系统的IO行为(缓存系统也可以当做是key-value的数据库),本文主要介绍访问MySQL数据库的IO流程以及IO相关的参数. 一.My ...

  4. python decorator 修饰器

    decorator 就是给函数加一层皮,好用! 1 from time import ctime 2 3 def deco(func): 4 def wrappedFunc(*args, **kwar ...

  5. vue2+vite初体验

    前言 自从 vite 发布之后,社区赞誉无数,而我也一直心水 vite 的轻量快速的热重载的特性,特别是公司的项目巨大,已经严重拖慢了热重载的速度了,每次热重载都要等上一小会,所以急需寻找一个解决方案 ...

  6. NOIP模拟39:树

      他们说这题与之前树剖的一道叫染色的题类似,好像真的是这样.   就是我们考虑这样一件事,就是每一次染白都可以看作是给链上的点打一个时间戳,那么可以发现,如果相邻的两个点的时间戳不同,那么他们之间的 ...

  7. MongoDB(6)- BSON 数据类型

    BSON BSON是一种二进制序列化格式,用于在 MongoDB 中存储文档和进行远程过程调用 跟 JSON 的数据结构很像,但是支持更丰富的数据类型 数据类型 数据类型 序号 别名 备注 Doubl ...

  8. Git 系列教程(10)- 仓库别名

    Git 别名 前言 Git 并不会在你输入部分命令时自动推断出你想要的命令 如果不想每次都输入完整的 Git 命令,可以通过 git config 文件来轻松地为每一个命令设置一个别名 $ git c ...

  9. 转:C#根据条件设置datagridview行的颜色

    1 private void LoadData() 2 { 3 DataTable tblDatas = new DataTable(); 4 tblDatas.Columns.Add("I ...

  10. Identity基于角色的访问授权

    详情访问官方文档 例如,以下代码将访问权限限制为属于角色成员的用户的任何操作 AdministrationController Administrator : [Authorize(Roles = & ...