当前位置: 首页 > news >正文

JavaScript中的Math()

目录

一、Math()

1.1floor()

1.2ceil()

1.3round()

1.4random()

1.5max()

1.6min()

1.7pow()

1.8sqrt()

1.9trunc()

二、parseFloat()

三、toFixed()

四、toString()

4.1Number类型转换为字符串

4.2Boolean类型转换为字符串

4.3Date()类型转换为字符串

4.4Array数组类型转换为字符串

一、Math()

Math()对象是JavaScript的一个内置对象,用来处理数学相关的操作

1.1floor()

  • Math.floor():向下取整
console.log(Math.floor(3.9)); // 3
console.log(Math.floor(3.1)); // 3
console.log(Math.floor(-3.9)); // -4

1.2ceil()

  • Math.ceil():向上取整
console.log(Math.ceil(3.9)); // 4
console.log(Math.ceil(3.1)); // 4
console.log(Math.ceil(-3.1)); // -3

1.3round()

  • Math.round():四舍五入取整
console.log(Math.round(3.9)); // 4
console.log(Math.round(3.1)); // 3
console.log(Math.round(3.5)); // 4
console.log(Math.round(3.4)); // 3

1.4random()

  • Math.random():返回一个大于等于0且小于1的随机浮点数,即:[0,1)
for (let i = 0;i < 10;i++){console.log(Math.random());
}

效果

1.5max()

  • Math.max():返回一组数的最大值
console.log(Math.max(1,2,3,4,5));
console.log(Math.max(...[1,2,3,4,5]));
console.log(Math.max(..."12345"));

1.6min()

  • Math.min():返回一组数的最小值
console.log(Math.min(1,2,3,4,5));
console.log(Math.min(...[1,2,3,4,5]));
console.log(Math.min(..."12345"));

1.7pow()

  • Math.pow(base,index):返回基数(base)指数(index)次幂
console.log(Math.pow(2,3)); // 8

1.8sqrt()

  • Math.sqrt():返回一个数的平方根
console.log(Math.sqrt(25)); // 5
console.log(Math.sqrt(23)); // 4.795831523312719

1.9trunc()

  • Math.trunc():返回一个数的整数部分
console.log(Math.trunc(1.5)); // 1
console.log(Math.trunc(-1.5)); // -1
console.log(Math.trunc(1.9)); // 1
console.log(Math.trunc(-1.9)); // -1
console.log(Math.trunc(0)); // 0
console.log(Math.trunc(-0)); // -0

二、parseFloat()

parseFloat()JavaScript的全局函数,用于将一个字符串解析成浮点数

它会从字符串的起始位置开始解析,直到遇到无法解析为数字的字符为止,并返回解析得到的浮点数。

  • parseFloat(string)
  • string:要解析的字符串
// 正常解析
const num1 = parseFloat('3.14');
console.log(num1); // 输出: 3.14// 忽略前面的空格
const num2 = parseFloat('   2.718');
console.log(num2); // 输出: 2.718// 遇到非数字字符停止解析
const num3 = parseFloat('42abc');
console.log(num3); // 输出: 42// 无法解析返回 NaN
const num4 = parseFloat('abc');
console.log(num4); // 输出: NaN

三、toFixed()

toFixedNumber对象的方法,用于将数字转换为指定小数位字符串表示。(会对数字进行四舍五入)

  • num.toFixed(digits)
  • num:要处理的数字
  • digits:保留的小数位数,默认为0
const num = 3.14159;// 保留 2 位小数
const str1 = num.toFixed(2);
console.log(str1); // 输出: "3.14"// 保留 0 位小数
const str2 = num.toFixed(0);
console.log(str2); // 输出: "3"// 四舍五入
const num2 = 2.78;
const str3 = num2.toFixed(1);
console.log(str3); // 输出: "2.8"

四、toString()

toString()可以将不同类型的值转换为字符串。

4.1Number类型转换为字符串

  • num.toString(radix)
  • radix:指定转换的进制,取值范围是2到36
// 基本数字转换
let num = 10;
let str = num.toString();
console.log(str); // 输出: "10"
console.log(typeof str); // 输出: "string"// 指定进制转换
let binaryStr = num.toString(2);
console.log(binaryStr); // 输出: "1010"let hexStr = num.toString(16);
console.log(hexStr); // 输出: "a"

4.2Boolean类型转换为字符串

将布尔值转换为对应的字符串“true”或“false

let boolTrue = true;
let boolFalse = false;
console.log(boolTrue.toString()); // 输出: "true"
console.log(boolFalse.toString()); // 输出: "false"

4.3Date()类型转换为字符串

返回一个表示日期和时间的字符串

let date = new Date();
console.log(date.toString()); 
// Thu Mar 06 2025 22:14:01 GMT+0800 (中国标准时间)

4.4Array数组类型转换为字符串

将数组中的每个元素转换为字符串,并用逗号连接起来

let arr = [1, 2, 3];
console.log(arr.toString()); // 输出: "1,2,3"let mixedArr = [1, 'hello', true];
console.log(mixedArr.toString()); // 输出: "1,hello,true"

相关文章:

JavaScript中的Math()

目录 一、Math() 1.1floor() 1.2ceil() 1.3round() 1.4random() 1.5max() 1.6min() 1.7pow() 1.8sqrt() 1.9trunc() 二、parseFloat() 三、toFixed() 四、toString() 4.1Number类型转换为字符串 4.2Boolean类型转换为字符串 4.3Date()类型转换为字符串 4.4Arr…...

深度学习模型Transformer初步认识整体架构

第一章&#xff1a;人工智能之不同数据类型及其特点梳理 第二章&#xff1a;自然语言处理(NLP)&#xff1a;文本向量化从文字到数字的原理 第三章&#xff1a;循环神经网络RNN&#xff1a;理解 RNN的工作机制与应用场景(附代码) 第四章&#xff1a;循环神经网络RNN、LSTM以及GR…...

【从模仿到超越:AIGC的崛起与AGI的终极梦想】

一、基本概念 1. AIGC&#xff08;人工智能生成内容&#xff09; 定义&#xff1a;基于人工智能技术生成文本、图像、音频、视频等数字内容的方法。技术基础&#xff1a;依赖深度学习模型&#xff08;如GPT、DALL-E、Stable Diffusion&#xff09;和自然语言处理&#xff08;…...

标量、向量、矩阵与张量:从维度理解数据结构的层次

在数学和计算机科学中&#xff0c;维度描述了数据结构的复杂性&#xff0c;而标量、向量、矩阵、张量则是不同维度的数据表示形式。它们的关系可以理解为从简单到复杂的扩展&#xff0c;以下是详细解析&#xff1a; 1. 标量&#xff08;Scalar&#xff09;&#xff1a;0维数据 …...

windows 上删除 node_modules

在 Windows 11 上&#xff0c;你可以通过命令行来删除 node_modules 文件夹并清除 npm 缓存。以下是具体步骤&#xff1a; 删除 node_modules 打开命令提示符&#xff08;Command Prompt&#xff09;或终端&#xff08;PowerShell&#xff09;。 导航到项目目录。你可以使用 …...

单例模式的五种实现方式

1、饿汉式 ①实现&#xff1a;在类加载的时候就初始化实例 ②优点&#xff1a;线程安全 ③缺点&#xff1a;实例在类加载的时候创建&#xff0c;可能会浪费资源 //饿汉式 public class EagerSingleton{private EagerSingleton(){} //私有构造方法private static EagerSingle…...

启智平台华为昇腾910B使用MS-Swift微调Janus-Pro-7/1B

最近想要微调一下DeepSeek出品的Janus多模态大模型 利用启智平台的昇腾910B国产计算卡进行大模型的微调 查看了一下MS-Swift支持了Janus模型的微调&#xff0c;LLamafactory好像暂时还不支持该模型的微调 看到了MS-Swift有单独对昇腾的支持&#xff0c;因此首先要安装swift&…...

蓝桥试题:传球游戏(二维dp)

一、题目描述 上体育课的时候&#xff0c;小蛮的老师经常带着同学们一起做游戏。这次&#xff0c;老师带着同学们一起做传球游戏。 游戏规则是这样的&#xff1a;n 个同学站成一个圆圈&#xff0c;其中的一个同学手里拿着一个球&#xff0c;当老师吹哨子时开始传球&#xff0…...

迷你世界脚本小地图接口:Mapmark

小地图接口&#xff1a;Mapmark 彼得兔 更新时间: 2023-10-25 10:33:48 具体函数名及描述如下: 序号 函数名 函数描述 1 newShape(...) 新增一个形状(线&#xff0c;矩形&#xff0c;圆形) 2 deleteShape(...) 删除一个形状 3 setShapeColor(...) 设置…...

从零开始在Windows使用VMware虚拟机安装黑群晖7.2系统并实现远程访问

文章目录 前言1.软件准备2. 安装VMware17虚拟机3.安装黑群晖4. 安装群晖搜索助手5. 配置黑群晖系统6. 安装内网穿透6.1 下载cpolar套件6.2 配置群辉虚拟机6.3 配置公网地址6.4 配置固定公网地址 总结 前言 本文主要介绍如何从零开始在Windows系统电脑使用VMware17虚拟机安装黑…...

Qt6.8.2创建WebAssmebly项目使用FFmpeg资源

Qt6新出了WebAssmebly功能&#xff0c;可以将C写的软件到浏览器中运行&#xff0c;最近一段时间正在研究这方便内容&#xff0c;普通的控件响应都能实现&#xff0c;今天主要为大家分享如何将FFmpeg中的功能应用到浏览器中。 开发环境&#xff1a;window11&#xff0c;Qt6.8.2…...

Java阻塞队列深度解析:高并发场景下的安全卫士

一、阻塞队列的核心价值 在电商秒杀系统中&#xff0c;瞬时涌入的10万请求如果直接冲击数据库&#xff0c;必然导致系统崩溃。阻塞队列如同一个智能缓冲带&#xff0c;通过流量削峰和异步解耦两大核心能力&#xff0c;成为高并发系统的核心组件。 二、Java阻塞队列实现类对比 …...

软件信息安全性测试流程有哪些?专业软件测评服务机构分享

在数字化时代&#xff0c;软件信息安全性测试的重要性愈发凸显。尤其是对于企业来说&#xff0c;确保软件的安全性不仅是维护用户信任的关键&#xff0c;也是满足合规要求的必要条件。 软件信息安全性测试是指通过一系列系统化的测试手段&#xff0c;评估软件应用在受到攻击时…...

Linux - 网络基础(应用层,传输层)

一、应用层 1&#xff09;发送接收流程 1. 发送文件 write 函数发送数据到 TCP 套接字时&#xff0c;内容不一定会立即通过网络发送出去。这是因为网络通信涉及多个层次的缓冲和处理&#xff0c;TCP 是一个面向连接的协议&#xff0c;它需要进行一定的排队、确认和重传等处理…...

C++11新特性:auto遇上const时的推导规则

当auto推导变量类型时&#xff0c;const修饰符会影响推导结果&#xff0c;我们具体看一下有哪些影响 1、普通变量 例如&#xff1a; const int ci 42; auto a ci; // a 的类型是 int (顶层 const 被忽略) const auto ca ci; // ca 的类型是 const int (顶层 const 被…...

hom_mat2d_to_affine_par 的c#实现

hom_mat2d_to_affine_par 的c#实现 背景&#xff1a;为课室贡献一个通用函数&#xff0c;实现halcon算子的同等效果&#xff0c;查询csdn未果&#xff0c;deepseek二哥与chtgpt大哥给不了最终程序&#xff0c;在大哥与二哥帮助下&#xff0c;最终实现同等效果。 踩坑&#xf…...

相机几何与标定:从三维世界到二维图像的映射

本系列课程将带领读者开启一场独特的三维视觉工程之旅。我们不再止步于教科书式的公式推导&#xff0c;而是聚焦于如何将抽象的数学原理转化为可落地的工程实践。通过解剖相机的光学特性、构建成像数学模型、解析坐标系转换链条&#xff0c;直至亲手实现参数标定代码&#xff0…...

GPTQ - 生成式预训练 Transformer 的精确训练后压缩

GPTQ - 生成式预训练 Transformer 的精确训练后压缩 flyfish 曾经是 https://github.com/AutoGPTQ/AutoGPTQ 现在是https://github.com/ModelCloud/GPTQModel 对应论文是 《Accurate Post-Training Quantization for Generative Pre-trained Transformers》 生成式预训练Tr…...

【Python项目】基于深度学习的电影评论情感分析系统

【Python项目】基于深度学习的电影评论情感分析系统 技术简介&#xff1a;采用Python技术、Flask框架、MySQL数据库、Word2Vec模型等实现。 系统简介&#xff1a;该系统基于深度学习技术&#xff0c;特别是Word2Vec模型&#xff0c;用于分析电影评论的情感倾向。系统分为前台…...

Redis特性总结

一、速度快 正常情况下&#xff0c;Redis 执⾏命令的速度⾮常快&#xff0c;官⽅给出的数字是读写性能可以达到 10 万 / 秒&#xff0c;当然这也取决于机器的性能&#xff0c;但这⾥先不讨论机器性能上的差异&#xff0c;只分析⼀下是什么造就了 Redis 如此之快&#xff0c;可以…...

CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型

CVPR 2025 | MIMO&#xff1a;支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题&#xff1a;MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者&#xff1a;Yanyuan Chen, Dexuan Xu, Yu Hu…...

JVM垃圾回收机制全解析

Java虚拟机&#xff08;JVM&#xff09;中的垃圾收集器&#xff08;Garbage Collector&#xff0c;简称GC&#xff09;是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象&#xff0c;从而释放内存空间&#xff0c;避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...

el-switch文字内置

el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...

使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装

以下是基于 vant-ui&#xff08;适配 Vue2 版本 &#xff09;实现截图中照片上传预览、删除功能&#xff0c;并封装成可复用组件的完整代码&#xff0c;包含样式和逻辑实现&#xff0c;可直接在 Vue2 项目中使用&#xff1a; 1. 封装的图片上传组件 ImageUploader.vue <te…...

Mac软件卸载指南,简单易懂!

刚和Adobe分手&#xff0c;它却总在Library里给你写"回忆录"&#xff1f;卸载的Final Cut Pro像电子幽灵般阴魂不散&#xff1f;总是会有残留文件&#xff0c;别慌&#xff01;这份Mac软件卸载指南&#xff0c;将用最硬核的方式教你"数字分手术"&#xff0…...

项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)

Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败&#xff0c;具体原因是客户端发送了密码认证请求&#xff0c;但Redis服务器未设置密码 1.为Redis设置密码&#xff08;匹配客户端配置&#xff09; 步骤&#xff1a; 1&#xff09;.修…...

ABAP设计模式之---“简单设计原则(Simple Design)”

“Simple Design”&#xff08;简单设计&#xff09;是软件开发中的一个重要理念&#xff0c;倡导以最简单的方式实现软件功能&#xff0c;以确保代码清晰易懂、易维护&#xff0c;并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计&#xff0c;遵循“让事情保…...

安全突围:重塑内生安全体系:齐向东在2025年BCS大会的演讲

文章目录 前言第一部分&#xff1a;体系力量是突围之钥第一重困境是体系思想落地不畅。第二重困境是大小体系融合瓶颈。第三重困境是“小体系”运营梗阻。 第二部分&#xff1a;体系矛盾是突围之障一是数据孤岛的障碍。二是投入不足的障碍。三是新旧兼容难的障碍。 第三部分&am…...

C++课设:简易日历程序(支持传统节假日 + 二十四节气 + 个人纪念日管理)

名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 专栏介绍:《编程项目实战》 目录 一、为什么要开发一个日历程序?1. 深入理解时间算法2. 练习面向对象设计3. 学习数据结构应用二、核心算法深度解析…...

Razor编程中@Html的方法使用大全

文章目录 1. 基础HTML辅助方法1.1 Html.ActionLink()1.2 Html.RouteLink()1.3 Html.Display() / Html.DisplayFor()1.4 Html.Editor() / Html.EditorFor()1.5 Html.Label() / Html.LabelFor()1.6 Html.TextBox() / Html.TextBoxFor() 2. 表单相关辅助方法2.1 Html.BeginForm() …...