JavaScript数学对象-数字进制转换

关注“大前端私房菜”微信公众号,输入暗号【面试宝典】即可免费领取107页前端面试题。

 什么是进制

进制就是达到指定位置时候进一位

常见的进制

  • 十进制: 0 1 2 3 4 5 6 7 8 9 10 11 12 ... 99 100 101

  • 二进制: 0 1 10 11 100 101 110 111 1000

  • 八进制: 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21

  • 十六进制: 0 1 2 3 4 5 6 7 8 9 a b c d e f 10 ... 19 ... 1a 1b 1c 1d 1e 1f 20 21 ...

十进制转换成其它进制
toString() 方法可以在数字转成字符串的时候给出一个进制数

  • 语法:toString(你要转换的进制)

  • 返回值:转换好进制以后的数字

转换好的数字是字符串类型

var num = 100
console.log(num.toString(2)) // 1100100
console.log(num.toString(8)) // 144
console.log(num.toString(16)) // 64

其它进制转换成十进制
parseInt() 方法可以在字符串转成数字的时候把字符串当成多少进制转成十进制

  • 语法:parseInt(要转换的字符串,当作几进制来转换)

  • 返回值:转换后的数字 你把数字当做几进制使用, 转换成十进制

结果是数字类型

var str = 100
console.log(parseInt(str, 8)) // 64 把 100 当作一个 八进制 的数字转换成 十进制 以后得到的
console.log(parseInt(str, 16)) // 256 把 100 当作 十六进制 的数字转换成 十进制 以后得到的
console.log(parseInt(str, 2)) // 4 把 100 当作 二进制 的数字转换成 十进制 以后得到的

保留小数位

  • 作用:toFixed() 方法可把 Number 四舍五入为指定小数位数的数字。

  • 语法:数字.toFixed(要保留的小数点后的位数)

  • 返回值:返回一个小数点后有固定的 多少位数字的数字,是一个字符串类型

小数位不够的时候, 使用 0 补齐

var n = 100.123
// 把 n 保留 2 位小数以后赋值给 res
var res = n.toFixed(2)
console.log(res) //100.12
//返回的是字符串类型
console.log(typeof res); //string
//保留的小数位数多余原数字的小数位数
var res1 = n.toFixed(4)
console.log(res1) //100.1230  保留的位数不够用0补齐

案例-随机整数封装

function fn(a, b) {
  // 1. 确定两个数字的大小关系
  var min = Math.min(a, b)
  var max = Math.max(a, b)

  // 2. 求出两数差
  var sub = max - min

  // 3. 求出 0 ~ sub 之间的随机整数
  var r1 = Math.floor(Math.random() * (sub + 1))

  // 4. 把 r1 + min
  var res = r1 + min

  return res
}

//优化上述方案1:
function fn(a, b) {
  // 1. 确定两个数字的大小关系
  var min = Math.min(a, b)
  var max = Math.max(a, b)

  return Math.floor(Math.random() * (max - min + 1)) + min
}

// 优化上述方案2:
function fn(a, b) {
  return Math.floor(Math.random() * (Math.abs(a - b) + 1)) + Math.min(a, b)
}

案例-封装函数返回随机颜色字符串

//  这是我们分装好的 获取随机整数的方法
function randomNum(a, b) {
    return Math.floor(Math.random() * (Math.abs(a - b) + 1)) + Math.min(a, b)
}

// rgb 颜色实现
// 先定义一个函数
function randomColor() {
    // 定义一个颜色
    var color = ''
    // 设置我们的颜色
    var r = randomNum(0, 255)
    var g = randomNum(0, 255)
    var b = randomNum(0, 255)
    // 把我们的颜色拼接成rgb的格式
    color = `rgb(${r},${g},${b})`

    // 返回我们定义的颜色
    return color
}

// 十六进制的颜色实现 
function randomColor() {
    // 定义一个字符串 , 因为是十六进制的所以我们在定义的时候就加上#
    var color = '#'
    // 因为我们需要三个随机数,我们就循环三次
    for (var i = 0; i < 3; i++) {
        // 得到0-255之间的随机数
        var r = randomNum(0, 255)
        // 判断我们得到的随机数是不是小于16,因为小于16的数转成
        // 十进制是一位,不能满足我们的颜色要求 , 需要我们补一个 0 
        r = r < 16 ? '0' + r.toString(16) : r.toString(16)
        // 拼接到我们的颜色字符串上
        color += r
    }

    // 返回我们定义的颜色
    return color
}

// // 使用
var res = randomColor()
console.log(res);
// document.body.style.backgroundColor = res

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

走进人工智能|GANs AI时代下的前卫艺术

前言&#xff1a; GANs的作用是以生成模型的形式学习数据分布&#xff0c;从而产生逼真的样本数据&#xff0c;可以应用于图像合成、风格转换、视频生成等领域。 文章目录 序言背景适用领域技术支持应用领域程序员如何学总结 序言 GANs&#xff08;生成对抗网络&#xff09;是…

ASEMI代理台湾光宝LTV-3120光耦合器中文资料

编辑-Z LTV-3120是一种高性能光耦&#xff0c;由于其可靠性、效率和多功能性&#xff0c;在各种应用中都很受欢迎。本文将全面了解LTV-3120其功能、应用以及它如何改进您的电子设计。 什么是光电耦合器&#xff1f; 光耦&#xff0c;也称为光隔离器&#xff0c;是一种利用光在…

Mediapipe实时3D目标检测和跟踪(自动驾驶实现)

&#x1f680; 导语 3D目标检测是根据物体的形状、位置和方向来识别和定位物体的任务。在2D目标检测中&#xff0c;被检测到的物体仅表示为矩形边界框。3D目标检测任务通过预测物体周围的包围框&#xff0c;可以获取物体的三维位置信息。 3D目标检测在各行各业都有广泛的应用。…

Flink 系列二 Flink 状态化流处理概述

本篇作为Flink系列的第二篇&#xff0c;第一篇是环境准备&#xff0c;需要的同学可以看&#xff1a;https://blog.csdn.net/lly576403061/article/details/130358449?spm1001.2014.3001.5501。希望可以通过系统的学习巩固该方面的知识&#xff0c;丰富自己的技能树。废话不多说…

jmeter模拟多用户并发

目录 前言&#xff1a; 一、100个真实的用户 二、100个用户同时登录 前言&#xff1a; JMeter可以轻松地模拟多用户并发&#xff0c;从而测试Web应用程序的性能和稳定性。 一、100个真实的用户 1、一个账号模拟100虚拟用户同时登录和100账号同时登录 区别 &#xff08;…

运维圣经:Webshell应急响应指南

目录 Webshell简介 Webshell检测手段 Webshell应急响应指南 一. Webshell排查 二. 确定入侵时间 三. Web日志分析 四. 漏洞分析 五. 漏洞复现 六. 清除Webshell并修复漏洞 七. Webshell防御方法 Webshell简介 Webshell通常指以JSP、ASP、 PHP等网页脚本文件形式存在…

Webstorm 加载vue项目时,特别卡顿,完美解决。觉得有用加好友打赏

觉得有用加好友打赏&#xff1a;QQ&#xff1a;854138497 上图cpu直接干满。 根据上图提示&#xff0c;直接 disable hints&#xff0c;或者到下图的settings里面设置。 Code vision取消后&#xff0c;webstorm 明显就不卡了。记得重启webstorm。 还有一种方式&#xff0c;根…

组合模式(十二)

请相信自己&#xff0c;请再次相信自己&#xff0c;请一定要相信自己 上一章简单介绍了装饰者模式(十一), 如果没有看过, 请观看上一章 一. 组合模式 引用 菜鸟教程里面的 组合 模式介绍: https://www.runoob.com/design-pattern/composite-pattern.html 组合模式&#xff0…

2. CompletableFuture

2.1 Future接口理论知识复习 Future接口&#xff08;FutureTask实现类&#xff09;定义了操作异步任务执行一些方法&#xff0c;如获取异步任务的执行结果、取消异步任务的执行、判断任务是否被取消、判断任务执行是否完毕等。 举例&#xff1a;比如主线程让一个子线程去执行任…

电脑小白不要错过这五款小众但强大的软件

电脑上的各类软件有很多&#xff0c;除了那些常见的大众化软件&#xff0c;还有很多不为人知的小众软件&#xff0c;专注于实用功能&#xff0c;简洁干净、功能强悍。 多语言翻译——QTranslate QTranslate是一款实用的多语言翻译工具。它可以在任何应用程序中选中文本&#…

c++学习之多态

目录 1&#xff0c;什么是多态&#xff1f; 2&#xff0c;什么是虚函数&#xff1f; 1.如何实现父类对各个派生子类的操作&#xff1f; 2&#xff0c;父类指针保存子类空间产生的问题。 3&#xff0c;虚函数的定义 4&#xff0c;虚函数的动态绑定机制 5&#xff0c;重载&…

ESXI 环境搭建和配置

ESXI 环境搭建和配置 ESXI简介 ESXi专为运行虚拟机、最大限度降低配置要求和简化部署而设计。只需几分钟时间&#xff0c;客户便可完成从安装到运行虚拟机的全过程&#xff0c;特别是在下载并安装预配置虚拟设备的时候。 在VMware Virtual Appliance Marketplace 上有800多款…

FPC的发展及应用,软板行业未来将持续增长

FPC系列文章目录 1.什么是FPC 2.什么是R-FPC 3&#xff0c;FPC的基材 4.FPC基材压延铜和电解铜的区别 5&#xff0c;FPC的辅材 6&#xff0c;FPC常见的四种类型 7&#xff0c;FPC的生产流程简介 8&#xff0c;R-FPC的生产流程简介 9&#xff0c;FPC的发展及应用 提示&…

咖啡店小程序开发 让烟火小店更有生机

随着人们生活水平的提高和生活压力的增大&#xff0c;很多人都靠喝咖啡来缓解疲劳和压力&#xff0c;也为我们的生活增添了一丝情趣&#xff0c;但高峰时期排队购买一杯咖啡很浪费时间&#xff0c;很多赶时间的上班族不得不放弃。随着互联网技术深入到各行各业&#xff0c;传统…

【word wps文字】目录页码中的格式在打印或打印预览时变为和正文页码格式一样,如何调整?

一、问题背景 之前在闲鱼上&#xff0c;有个人找我改word排版&#xff0c;有一个需求就是正文页码两边需要横杠。 但是目录中显示的页码&#xff0c;不需要横杠。 我当时是一个一个在目录中删除横杠的&#xff0c;借助了查找与替换功能。 更改后&#xff0c;目录页码如下所…

Vscode 配置 wxWidgets 调试配置

在 .vscode 下创建 launch.json 加入以下内容 {// 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。// 欲了解更多信息&#xff0c;请访问: https://go.microsoft.com/fwlink/?linkid830387"version": "0.2.0","configurations&qu…

snmp默认团体名/弱口令漏洞及安全加固

一、漏洞描述 SNMP&#xff08;简单网络管理协议&#xff09;被广泛用于计算机操作系统设备、网络设备等领域监测连接到网络上的设备是否有任何引起管理上关注的情况。在运行SNMP服务的设备上&#xff0c;若管理员配置不当运行默认团体名/弱口令访问,将导致敏感信息泄露。敏感…

视频点播系统

服务端功能模块划分 数据管理模块&#xff1a;负责针对客户端上传的视频信息进行管理。 网络通信模块&#xff1a;搭建网络通信服务器&#xff0c;实现与客户端通信。 业务处理模块&#xff1a;针对客户端的各个请求进行对应业务处理并响应结果。 前端界面模块&#xff1a;…

RabbitMQ 安装

目录 一、安装RabbitMQ1、Linux 安装⑴、官网rpm包安装①、下载rpm安装包官网下载erlangrabbitmq packagecloud下载erlangrabbitmq ②、安装 erlang③、安装rabbitmq ⑵、packagecloud快速安装⑶、添加用户账号及权限并登陆⑷、卸载erlang与rabbitmq卸载rabbitmq卸载erlang 2、…

手把手教你实战TDD | 京东云技术团队

1. 前言 领域驱动设计&#xff0c;测试驱动开发。 我们在《手把手教你落地DDD》一文中介绍了领域驱动设计&#xff08;DDD&#xff09;的落地实战&#xff0c;本文将对测试驱动开发&#xff08;TDD&#xff09;进行探讨&#xff0c;主要内容有&#xff1a;TDD基本理解、TDD常…