JavaScript 精粹:Number 与 Math

JavaScript 精粹:Number 与 Math

这是 JavaScript 精粹的系列篇,涵盖了 JavaScript 中最常用和最重要的方法,以及其它一些基础知识。在这篇文章中,我们将讨论 NumberMath

前置知识

建议大家了解类型,只需要一点数学知识。

JavaScript Essentials: Types & Data Structures

JavaScript 中的数字基础

这是什么意思? 所有JavaScript 数字都存储为双浮点数。 JS会欺骗你,让你认为 var x = 1 是一个整数,但实际上它是一个浮点数并且等于 1.0

如果你这方面感兴趣,以下一些链接供你参考:

本文的重点是 Number 对象的方法。

https://medium.com/dailyjs/ja…

数字创建和基本的代码

图片描述

重要指南

  • 所有数字都是浮点数
  • 所有的数字都是相同的类型,’number
  • JS与任何其他语言一样,受限于它可以表示的数字大小以及它的准确程度。

常用的方法

“安全” 的数字

一个 “安全” 的数字是一个值保证为你所说的值的数字。例如,如果试图在代码中使用900719925474099164,它就会变成 900719925474099200,这是因为它超出了安全数字范围。

我们怎么知道安全数字的范围是多少?

safe numbers

如何确定一个数字是否是整数?

Number.isInteger

如何更改小数位数?

Number.toFixed

Number.toPrecision

转换成指数形式

也被称为科学记数法。

Number.toExponential

全局 Number 方法 与 Number.method 比较

你可能已经注意到有像 parseInt 这样的全局函数,但是这里只用 Number.parseInt()

这是因为 JS 试图摆脱全局函数而使用模块。一些新的模块方法被更新,而旧的全局方法没有更新。 比如 isNan() 不同于 Number.isNan()

使用大数字

警告:下面提到的 vanilla JS 方法目前在这个的时间段内不可用。 (可以在 Chrome控制台中尝试)在此处 查看提案。

图片描述

在BigInt 可用之前,请使用库 MikeMcl/bignumber.js

转换为另一个数字系统

toString, parseInt

数字使用字符串中的方法

你可能已经尝试在控制台或任何地方上数字使用字符串的方法如 23.toString(2) // syntax error这是因为如前面“数字创建基础”中提到的 23.0 是可选的。

这意味着当你做 23.tostring(2), JS 认为它只是一个数字。它应该足够聪明,知道正在调用一个方法,但是好吧

解决方案:将数字包在括号中 (23).toString(2) //“10111” 或做一些非常奇怪的事…… 23..toString(2) 但请不要这样做 ?

NaN 是 Number 类型

NaN 存在于 Number 对象上,但是被定义为某些数学运算的结果,这些运算导致无法将数值量化为数字。 或者换句话说,它的命名很差, “无效数字”或类似数字情况会更好。

检查 NaN

NaN 是有毒的,意思是它会把它接触到的任何东西变成 请输入代码NaN 。它是唯一不等于它本身的值,我们可以利用它来做一些像 x !== x 的事情,如果它返回 true,那么它就是 NaN

Object.is, Number.isNaN, isNaN

四舍五入一个数字的方法

floor, ceil, round, toFixed, toPrecision

指数

pow

生成随机数

Math.random

Math 方法

在这里只包含了一些 Math 方法,但是有很多方法,请查看文档。我没有把它们全部包括在内,因为它们不言自明,并且只在你处理一个数字很多且重要的项目时才会经常使用。

实践

原文:

https://codeburst.io/javascri…

你的点赞是我持续分享好东西的动力,欢迎点赞!

一个笨笨的码农,我的世界只能终身学习!

更多内容请关注公众号《大迁世界》

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/101090.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 主流流媒体服务器软件,十款免费的流媒体服务器软件介绍

    主流流媒体服务器软件,十款免费的流媒体服务器软件介绍互联网时代,服务器是网络的重要支撑,大家租用云服务器除了搭建网站服务器之外,还会用到搭建其他各种WEB应用服务器,而流媒体服务器的搭建就是其中一种,那么应该怎么进行流媒体服务器的搭建呢?你知道有那些免费的流媒体服务器软件吗?(你可能想知道:视频流媒体服务器的选择方式?)流媒体服务器是指提供以流方式在网络中传送音频、视频和多媒体文件的媒体形式服务的服务器。它的主要功能是流式协议(RTP/RTSP、M…

  • 无法wget raw.githubusercontent.com

    无法wget raw.githubusercontent.com

  • oracle创建索引和删除索引

    oracle创建索引和删除索引创建CREATEINDEXindex_Trans_list(索引名)ONTrans_list(表名) (receivedepid(字段名))删除dropindexindex_Trans_list(索引名)

  • mysql Decimal 运算;

    mysql Decimal 运算;MySQLDECIMAL数据类型用于在数据库中存储精确的数值。我们经常将DECIMAL数据类型用于保留准确精确度的列,例如会计系统中的货币数据。要定义数据类型为DECIMAL的列,请使用以下语法: column_nameDECIMAL(P,D); 在上面的语法中:P是表示有效数字数的精度。P范围为1〜65。 D是表示小数点后的位数。D的范围是0~30。MySQL要求D小于或等于(<=)P。与INT数据类型一样,DECIMAL类型也具有UNSIGNED和ZER…

  • dota2连接服务器没有响应,win10系统dota2无法与任何服务器建立连接的解决方法

    dota2连接服务器没有响应,win10系统dota2无法与任何服务器建立连接的解决方法很多小伙伴都遇到过win10系统dota2无法与任何服务器建立连接的情况,想必大家都遇到过win10系统dota2无法与任何服务器建立连接的情况吧,那么应该怎么处理win10系统dota2无法与任何服务器建立连接呢?我们依照1、按下windows+Q组合键打开搜索框,在搜索框中搜索cmd,在搜索结果中我们可以看到命令提示符在命令提示符选项上单击右键,选择【以管理员身份运行】;2、在命令…

  • 大话数据结构PDF

    大话数据结构PDF《大话数据结构》相关下载地址重难点目录下载地址云盘:touchhere.提取码:93dc重难点目录第一章绪论逻辑结构,物理存储结构(顺序和链式)数据结构类型第二章算法时间复杂度和空间复杂度,计算方法最坏情况、平均情况。第三章链表动态链表:指针,常用静态链表:数组,无指针语言(Basic)使用,较少用 循环链表:(单循环)next双向链表:next,prior 双向循环链表,插入时候的指针改动,顺序非常重要。–》第四章

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号