JavaScript Math(算数) 对象的用法详解

Math(算数)对象的作用是:执行常见的算数任务。

JavaScript 的 Math 对象提供了一些用于数学运算的方法和常量。以下是一些常用的 Math 对象的方法和属性,接下来一个一个详解。

1:Math.PI:获取圆周率的常量。(下面的写法,只能保留小数点后15位)

typescript 复制代码
var num = Math.PI;
console.log("num的值为:" + num);//num的值为:3.141592653589793

1*:保留小数点后20位的写法,以此类推,选择自己所需写法

typescript 复制代码
// 将 Math.PI 转换为字符串,保留20位小数
var piString = Math.PI.toFixed(20);
// 将字符串转换回数字
var piNumber = parseFloat(piString);
console.log(piNumber); // 输出保留小数点后20位的 PI 值,部分编译器还是会省略只到15位,看字符串即可

2:Math.abs(x):返回 x 的绝对值。

typescript 复制代码
var num = Math.abs(-100)
console.log("num的值为:" + num);//num的值为:100

3:Math.ceil(x):返回大于等于 x 的最小整数,即向上取整。

typescript 复制代码
var num = Math.ceil(100.10)
console.log("num的值为:" + num);//num的值为:101

4:Math.floor(x):返回小于等于 x 的最大整数,即向下取整。

typescript 复制代码
var num = Math.floor(100.10)
console.log("num的值为:" + num);//num的值为:100

5:Math.round(x):四舍五入到最接近的整数。

typescript 复制代码
var num = Math.round(100.50)
console.log("num的值为:" + num);//num的值为:101

var num = Math.round(100.49)
console.log("num的值为:" + num);//num的值为:100

6:Math.max(arr):返回列表中的最大值。注意arr需为数值或数值组成的字符串,否则返回NaN

typescript 复制代码
var num = Math.max(100,49,99)
console.log("num的值为:" + num);//num的值为:100

var num = Math.max(100,49,"999")
console.log("num的值为:" + num);//num的值为:999

var num = Math.max(100,49,"999asdasd")
console.log("num的值为:" + num);//num的值为:NaN

7:Math.min(arr):返回列表中的最小值。注意arr需为数值或数值组成的字符串,否则返回NaN

typescript 复制代码
var num = Math.min(100,49,99)
console.log("num的值为:" + num);//num的值为:49

var num = Math.min(100,49,"999")
console.log("num的值为:" + num);//num的值为:49


var num = Math.min(100,49,"999asdasd")
console.log("num的值为:" + num);//num的值为:NaN

8:Math.random():返回一个介于 0(包括)和 1(不包括)之间的随机数。

typescript 复制代码
var num = Math.random()
console.log("num的值为:" + num);//num的值为0到1之间的整数

8*:返回一个介于 0(包括)和 10(不包括)之间的随机数

typescript 复制代码
var num = Math.floor(Math.random()*10)
console.log("num的值为:" + num);//num的值为0到10之间的整数
相关推荐
techdashen1 小时前
Go 1.26 新增 `bytes.Buffer.Peek`:只看数据,不移动读取位置
开发语言·后端·golang
C137的本贾尼2 小时前
第七篇:消息队列(MQ)——就是个带存储的异步通信管道
java·开发语言·中间件
云空2 小时前
《Three.js 3D坦克对战【AI单机版】》
javascript·人工智能·3d·three.js
默_笙2 小时前
🚲 手写一个"Claude Code":我用 LangChain + ReAct 循环,让 AI 自己读文件、解释代码
前端·javascript
等咸鱼的狸猫2 小时前
# JS 核心六大主题:闭包内存模型、原型链查找、事件流机制与 Promise / Event Loop 实现视角复盘
前端·javascript
从零开始的代码生活_2 小时前
C++ list 原理与实践:双向链表、迭代器与简化实现
开发语言·c++·后端·学习·算法·链表·list
hy.z_7773 小时前
【C语言】11. 深入理解指针1
c语言·开发语言
charlie1145141913 小时前
现代C++工程实践——WeakPtr 第二关:核心骨架与控制块
开发语言·c++
gis开发之家4 小时前
vue3直击架构痛点 依赖倒置与接口隔离——打造坚如磐石的插件与高阶组件(HOC)模式
javascript·架构·typescript·前端框架·vue3
ttwuai4 小时前
Go 后台接口 401/403 排查:JWT 过期、刷新请求和权限码怎么定位
开发语言·golang·状态模式