【ES6复习笔记】数值扩展(16)

news2025/1/2 22:40:10

介绍

在 JavaScript 中,数值扩展提供了一些额外的功能,使得处理数值变得更加方便。本教程将介绍一些常用的数值扩展方法和属性。

1. Number.EPSILON

Number.EPSILON 是 JavaScript 表示的最小精度。它的值接近于 2.2204460492503130808472633361816E-16。这个属性通常用于比较浮点数是否相等,因为在计算机中,浮点数的计算可能会存在微小的误差。

// 示例代码
function equal(a, b){
    if(Math.abs(a-b) < Number.EPSILON){
        return true;
    }else{
        return false;
    }
}
console.log(0.1 + 0.2 === 0.3); // 输出: false
console.log(equal(0.1 + 0.2, 0.3)); // 输出: true

2. 二进制和八进制表示法

在 JavaScript 中,可以使用 0b 前缀表示二进制数,使用 0o 前缀表示八进制数。这使得在代码中直接使用二进制和八进制变得更加直观。

// 示例代码
let b = 0b1010; // 二进制表示的 10
let o = 0o777; // 八进制表示的 511
let d = 100; // 十进制表示的 100
let x = 0xff; // 十六进制表示的 255
console.log(x); // 输出: 255

3. Number.isFinite()

Number.isFinite() 方法用于检测一个数值是否为有限数。如果是有限数,则返回 true,否则返回 false。

// 示例代码
console.log(Number.isFinite(100)); // 输出: true
console.log(Number.isFinite(100/0)); // 输出: false
console.log(Number.isFinite(Infinity)); // 输出: false

4. Number.isNaN()

Number.isNaN() 方法用于检测一个数值是否为 NaN(Not a Number)。如果是 NaN,则返回 true,否则返回 false。

// 示例代码
console.log(Number.isNaN(123)); // 输出: false

5. Number.parseInt() 和 Number.parseFloat()

Number.parseInt() 和 Number.parseFloat() 方法分别用于将字符串转换为整数和浮点数。

// 示例代码
console.log(Number.parseInt('5211314love')); // 输出: 5211314
console.log(Number.parseFloat('3.1415926神奇')); // 输出: 3.1415926

6. Number.isInteger()

Number.isInteger() 方法用于判断一个数是否为整数。如果是整数,则返回 true,否则返回 false。

// 示例代码
console.log(Number.isInteger(5)); // 输出: true
console.log(Number.isInteger(2.5)); // 输出: false

7. Math.trunc()

Math.trunc() 方法用于将数字的小数部分抹掉,只返回整数部分。

// 示例代码
console.log(Math.trunc(3.5)); // 输出: 3

8. Math.sign()

Math.sign() 方法用于判断一个数到底为正数、负数还是零。如果是正数,返回 1;如果是负数,返回 -1;如果是零,返回 0。

// 示例代码
console.log(Math.sign(100)); // 输出: 1
console.log(Math.sign(0)); // 输出: 0
console.log(Math.sign(-20000)); // 输出: -1

以上就是 JavaScript 数值扩展的一些常用方法和属性的介绍。通过这些扩展,你可以更方便地处理数值类型的数据。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2268075.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java 中的各种锁

​ Java 中我们经常听到各种锁&#xff0c;例如悲观锁&#xff0c;乐观锁&#xff0c;自旋锁等等。今天我们将 Java 中的所有锁放到一起比较一下&#xff0c;并分析各自锁的特点&#xff0c;让大家能够快捷的理解相关知识。 1、悲观锁 VS 乐观锁 从概念上来说 悲观锁: ​ 在…

【开源免费】基于SpringBoot+Vue.JS租房管理系统(JAVA毕业设计)

本文项目编号 T 102 &#xff0c;文末自助获取源码 \color{red}{T102&#xff0c;文末自助获取源码} T102&#xff0c;文末自助获取源码 目录 一、系统介绍二、数据库设计三、配套教程3.1 启动教程3.2 讲解视频3.3 二次开发教程 四、功能截图五、文案资料5.1 选题背景5.2 国内…

报考重庆大学计算机研究生有哪些要求?

想要报考重庆大学计算机研究生&#xff0c;首要你要确定考专硕还是学硕&#xff0c;考什么内容&#xff0c;需要买什么书&#xff1f;以及考研期间一些信息获取渠道等。下面C哥将对以上问题进行详细解答。 1.报考条件&#xff1a; 报考重大计算机研究生与重大其他大多数专业条…

爬虫与反爬虫实现全流程

我选取的网页爬取的是ppt nba版 需要的工具:pycharm,浏览器 爬虫需要观察它的网页信息,然后开始首先爬取它的html,可以看到有人气,标题,日期,咨询 可以看到用get方法 import requests url"https://img-home.csdnimg.cn/images/20230724024159.png?origin_urlhttps%3A%2…

Llama 3 后训练(三)

目录 4. 后训练 4.1 建模 图表解读 4.1.1 聊天对话格式 4.1.2 奖励建模 4.1.3 监督微调&#xff08;Supervised Finetuning&#xff09; 4.1.4 直接偏好优化&#xff08;Direct Preference Optimization&#xff09; 4.1.5 模型平均&#xff08;Model Averaging&#x…

小程序配置文件 —— 15 页面配置

页面配置 小程序的页面配置&#xff0c;也称为局部配置&#xff0c;每一个小程序页面也可以使用自己的 .json 文件来对页面的窗口表现进行配置&#xff1b; 需要注意的是&#xff1a;页面配置文件的属性和全局配置文件中的 window 属性几乎一致&#xff0c;只不过这里不需要额…

【设计与实现】基于Bootstrap的地方旅游管理系统的设计与实现

目录 第一章 绪论 1.1 研究现状 1.2 设计原则 1.3 研究内容 第四章 系统设计 4.1系统结构设计 4.2系统顺序图设计 4.3数据库设计 第五章 系统实现 5.1登录模块的实现 第一章 绪论 1.1 研究现状 时代的发展&#xff0c;我们迎来了数字化信息时代&#xff0c;它正在渐…

如何使用React,透传各类组件能力/属性?

在23年的时候&#xff0c;我主要使用的框架还是Vue&#xff0c;当时写了一篇“如何二次封装一个Vue3组件库&#xff1f;”的文章&#xff0c;里面涉及了一些如何使用Vue透传组件能力的方法。在我24年接触React之后&#xff0c;我发现这种扩展组件能力的方式有一个专门的术语&am…

使用Excel制作通达信自定义“序列数据“

序列数据的视频教程演示 Excel制作通达信自定义序列数据 1.序列数据的制作方法&#xff1a;删掉没有用的数据&#xff08;行与列&#xff09;和股代码格式处理&#xff0c;是和外部数据的制作方法是相同&#xff0c;自己上面看历史博文。只需要判断一下&#xff0c;股代码跟随的…

VuePress搭建个人博客

VuePress搭建个人博客 官网地址: https://v2.vuepress.vuejs.org/zh/ 相关链接: https://theme-hope.vuejs.press/zh/get-started/ 快速上手 pnpm create vuepress vuepress-starter# 选择简体中文、pnpm等, 具体如下 .../19347d7670a-1fd8 | 69 .../19…

《机器学习》从入门到实战——线性回归

目录 一、什么是线性回归 二、一元线性回归模型 三、多元线性回归模型 四、误差项分析 1、误差项是否可以忽略 2、误差项的特点 3、误差项满足高斯分布&#xff08;正太分布&#xff09; &#xff08;1&#xff09;、高斯分布公式 &#xff08;2&#xff09;、公式推导 …

Java - 日志体系_Apache Commons Logging(JCL)日志接口库_适配Log4j2 及 源码分析

文章目录 PreApache CommonsApache Commons ProperLogging &#xff08;Apache Commons Logging &#xff09; JCL 集成Log4j2添加 Maven 依赖配置 Log4j2验证集成 源码分析1. Log4j-jcl 的背景2. log4j-jcl 的工作原理2.1 替换默认的 LogFactoryImpl2.2 LogFactoryImpl 的实现…

brupsuite的基础用法常用模块(1)

proxy模块&#xff1a; Options: 设置代理端口&#xff0c;默认为8080端口&#xff0c;若8080端口被占用可在该界面更改代理端口. HTTP history: 拦截的历史请求&#xff0c;右键可做更多操作&#xff0c;很多操作与其他模块有关。&#xff08;清除历史的话右键选择clear p…

概率统计与随机过程--作业7

编程题 分别使用混合高斯聚类算法&#xff08;GMM&#xff09;和K-Means聚类算法将agricultural_economy.xlsx文件中的9个样本聚成2类&#xff08;可以使用sklearn的GaussianMixture和KMeans&#xff09;&#xff0c;用不同颜色绘图显示各类样本点&#xff0c;并与“最短距离聚…

【Unity3D】ECS入门学习(十二)IJob、IJobFor、IJobParallelFor

IJob&#xff1a;开启单个线程进行计算&#xff0c;线程内不允许对同一个数据进行操作&#xff0c;也就是如果你想用多个IJob分别计算&#xff0c;将其结果存储到同一个NativeArray<int>数组是不允许的&#xff0c;所以不要这样做&#xff0c;如下例子就是反面教材&#…

MicroDiffusion——采用新的掩码方法和改进的 Transformer 架构,实现了低预算的扩散模型

介绍 论文地址&#xff1a;https://arxiv.org/abs/2407.15811 现代图像生成模型擅长创建自然、高质量的内容&#xff0c;每年生成的图像超过十亿幅。然而&#xff0c;从头开始训练这些模型极其昂贵和耗时。文本到图像&#xff08;T2I&#xff09;扩散模型降低了部分计算成本&a…

Java - 日志体系_Simple Logging Facade for Java (SLF4J)日志门面_SLF4J集成Log4j1.x 及 原理分析

文章目录 Pre官网集成Log4j1.x步骤POM依赖使用第一步&#xff1a;编写 Log4j 配置文件第二步&#xff1a;代码 原理分析1. 获取对应的 ILoggerFactory2. 根据 ILoggerFactory 获取 Logger 实例3. 日志记录过程 小结 Pre Java - 日志体系_Apache Commons Logging&#xff08;JC…

详解VHDL如何编写Testbench

1.概述 仿真测试平台文件(Testbench)是可以用来验证所设计的硬件模型正确性的 VHDL模型&#xff0c;它为所测试的元件提供了激励信号&#xff0c;可以以波形的方式显示仿真结果或把测试结果存储到文件中。这里所说的激励信号可以直接集成在测试平台文件中&#xff0c;也可以从…

Linux day 11 28

一.Linux简介 1.1 Linux介绍 Linux 是一套免费使用和自由传播的操作系统。说到操作系 统&#xff0c;大家比较熟知的应该就是 Windows 和 MacOS 操作系统&#xff0c; 我们今天所学习的 Linux 也是一款操作系统。 1.2 Linux发展历史 时间&#xff1a; 1991 年 地点&#xf…

【深度学习环境】NVIDIA Driver、Cuda和Pytorch(centos9机器,要用到显示器)

文章目录 一 、Anaconda install二、 NIVIDIA driver install三、 Cuda install四、Pytorch install 一 、Anaconda install Step 1 Go to the official website: https://www.anaconda.com/download Input your email and submit. Step 2 Select your version, and click i…