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

news2025/2/12 23:47:50

关注“大前端私房菜”微信公众号,输入暗号【面试宝典】即可免费领取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

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

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

相关文章

在thinkBook16的win11基础上安装ubuntu22.04

简介 背景&#xff1a;联想ThinkBook16 pro 32G/512G&#xff0c;系统盘已安装Win11&#xff0c;加装一条M.2-2T固态&#xff0c;想在2T上分一个300GB的EXT4分区&#xff0c;然后把ubuntu22.04安装在该分区上&#xff0c;并实现Win11Linux多系统共存。 目标&#xff1a;实现多…

【C++】STL基本介绍

目录 1、什么是STL 2、STL六大组件 2.1容器 2.2算法 2.3迭代器 1、什么是STL 概念: STL (standard template libaray - 标准模板库)&#xff1a;是 C 标准库的重要组成部分&#xff0c;不仅是一个可复用的组件库&#xff0c;而且是一个包罗数据结构与算法的软件框架。 …

重回游戏公平,向游戏打金工作室宣战!

什么是打金工作室&#xff1f; 近几年中国游戏市场持续发展&#xff0c;国产自研精品游戏层出不穷&#xff0c;游戏产业精品化、高质量健康发展趋势稳定。根据中国音数协游戏工委&#xff08;GPC&#xff09;与中国游戏产业研究院发布的《2022年中国游戏产业报告》显示&#xf…

总结2023开放原子全球开源峰会,中兴国产操作系统的开源贡献

近年来&#xff0c;随着信息技术的不断发展&#xff0c;催生出越来越多的智能场景&#xff0c;作为信息产业的底层技术&#xff0c;国产操作系统所面临的问题也变得越来越复杂。面对新技术和新场景对国产操作系统提出的新挑战、新要求&#xff0c;如何凝聚生态合作伙伴的优势力…

看了这几个C语言例子,你一定和我一样连说5个卧槽,声音一次比一次大

曾经我一直以为自己C语言学的还挺好的&#xff0c;直到看到这几个例子。 例1 首先来看一下&#xff0c;大师是如何求圆周率的&#xff0c;一口君实在词穷&#xff0c;first卧槽。 #include <stdio.h>long a10000,b0,c10000,d,e,f[10001],g;void main(){for(;b ! c; f[…

Rust 基础语法

Rust 基础语法 变量&#xff0c;基本类型&#xff0c;函数&#xff0c;注释和控制流&#xff0c;这些几乎是每种编程语言都具有的编程概念。 这些基础概念将存在于每个 Rust 程序中&#xff0c;及早学习它们将使你以最快的速度学习 Rust 的使用。 变量 首先必须说明&#x…

AIAgent来了!AutoGPT的新对手

AutoGPT 和 AgentGPT遇到了更强的对手&#xff0c;我来介绍一下 http://AIAgent.app 这个网站。 http://AIAgent.app 是一个可以让你使用人工智能代理来完成各种任务的网站。你只需要设置一个目标&#xff0c;然后选择一个合适的代理&#xff0c;它就会自动为你执行任务&#…

LED显示屏薄膜类型有哪些

LED显示屏薄膜是指应用在LED显示屏的薄膜材料&#xff0c;用于保护LED模块和增强显示效果。以下是LED显示屏薄膜知识的详细说明&#xff1a; 防护膜&#xff08;Protective Film&#xff09;&#xff1a;防护膜是一层透明的薄膜材料&#xff0c;常用于覆盖在LED显示屏的正面&am…

Android 手机自动化测试工具有哪几种?

文章大纲&#xff1a; 1、Android手机自动化测试工具&#xff0c;常用的有这7种 2、化繁为简&#xff0c;补充移动端自动化测试工具 3、这么多工具&#xff0c;工作中该如何选择 4、掌握自动化测试工具的学习建议 一、Android手机自动化测试工具&#xff0c;常用的有这7中&…

退休大厂软件测试面试官给大家的一些建议

最近因为又要增加用人&#xff0c;就又开始忙于招聘&#xff0c;一段时间下来遇到不少有趣的事情&#xff0c;结合之前的面试经验&#xff0c;就简单记录一下。 火眼金睛&#xff1a;识别真假 为什么一开始要说这个&#xff0c;因为最近确实遇到很多编造的简历&#xff0c;给…

如何选择到最合适的DDoS缓解服务?

DDoS缓解服务提供商的数量可能很多&#xff0c;但只有一些提供商提供高效服务的所有必要功能&#xff0c;因此如果要选择正确的 DDoS保护解决方案&#xff0c;必须考虑以下因素&#xff1a; 1.缩小风险范围 选择DDoS缓解服务的第一步&#xff0c;确定您组织的特定需求&#…

DDoS缓解的基本工作原理和关键功能

什么是DDoS缓解&#xff1f; DDoS 缓解是指成功保护目标服务器或网络以抵御分布式拒绝服务 (DDoS) 攻击的过程&#xff0c;目标受害者可以使用专门设计的网络设备或基于云的保护服务缓解传入的威胁。 为什么需要DDoS缓解解决方案&#xff1f; 由于网络构成的基本逻辑&#xf…

Virt-Mnager 虚拟机桥接网络

前言 以下针对linux 下 virt-manager 管理kvm虚拟机配置网络类型&#xff0c;默认为nat。 nat网络模式&#xff0c;虚拟机之间可通信&#xff0c;虚拟机和主机可通信&#xff0c;不可与主机外的网络通信&#xff1b; 桥接网络模式&#xff0c;虚拟机之间可通信&#xff0c;虚拟…

Bluez 的一些概念

目录 1&#xff0c;Linux 和蓝牙架构 2&#xff0c;D-Bus 相关概念 2.1 Message Buses 2.2 Client, Server and Connections 2.3 Object, Interface, Methods, Signals and Properties 2.3.1 Object, Interface, Methods 2.3.2 Signal 2.3.3 Properties 3&#xff0c;St…

光速上手matlab入门级学习必看matlab超长细练习matlab,福利分享Matlab全套资料

福利&#xff1a;末文有Matlab全套哦 实践是检验知识和技能的唯一标准。只有将所学的知识应用到实际问题中&#xff0c;并通过实践不断地调整和完善&#xff0c;才能真正掌握和理解这些知识。 在 MATLAB 中&#xff0c;可以通过编写代码、运行程序、调试错误等方式进行实践。…

大语言模型高质量提示词最佳实践

大语言模型高质量提示词最佳实践 一、提供更清晰的指令 使用大语言模型&#xff08;类似ChatGPT、Bard等工具&#xff09;的过程中&#xff0c;一个关键的技巧是能够给出清晰和明确的指令。大语言模型的运作方式是根据提供的输入&#xff0c;预测接下来应该生成什么内容。因此…

Mysql经典例题练习与总结

一、创建数据表并插入数据 -- 1、学生表 -- Student(s_id,s_name,s_birth,s_sex) &#xff1a;学生编号、姓名、年月、性别 CREATE TABLE IF NOT EXISTS Student (s_id VARCHAR (20),s_name VARCHAR (20) NOT NULL DEFAULT ,s_birth VARCHAR (20) NOT NULL DEFAULT ,s_sex VAR…

使用一键安装工具快速搭建 ESP-IDF 开发环境 (Windows)

我们收到用户对 ESP-IDF SDK 软件开发环境感到搭建难、门槛高的反馈。为解决用户在此方面的问题。为此&#xff0c;我们推出本期教程介绍在 Windows 操作系统下使用一键安装工具快速搭建 ESP-IDF 开发环境。 您可以观看下面的教程视频&#xff0c;也可以阅读接下来本篇的图文教…

动态规划dp —— 25.单词拆分

1.状态表示 是什么&#xff1f;dp表中里的值所表示的含义就是状态表示 dp[i]表示&#xff1a;[0,i]区间内的字符串&#xff0c;能否被字典中的单词拼接而成&#xff08;存ture或false&#xff09; 2.状态转移方程 dp[i] 等于什么 根据最后一个位置&#xff0c;来划分问题&a…

easyPOI导出多Sheet

easyPOI导出多Sheet 声明&#xff0c;本文基于JAVA操作Excel&#xff08;POI、easyPOI、easyExcel_我认不到你的博客-CSDN博客讲解&#xff0c;需要基础的可以看这篇&#xff0c;特别是Excel注解 本篇最后有工具类和自定义的注解类&#xff0c;只需要傻瓜式复制粘贴应该就可以用…