当前位置: 首页 > 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"

相关文章:

  • SpringBoot优雅关机,监听关机事件,docker配置
  • gbase8s数据库检测非法字符
  • VSCode 配置优化指南:打造高效的 uni-app、Vue2/3、JS/TS 开发环境
  • JS—组成:2分钟掌握什么是ECMAScript操作,什么是DOM操作,什么是BOM操作
  • 在Blender中给SP分纹理组
  • GStreamer —— 2.6、Windows下Qt加载GStreamer库后运行 - “教程6:媒体格式和Pad功能“(附:完整源码)
  • 基于Spring Boot的多级缓存架构实现
  • C++学习(十四)(使用库)
  • JVM详解
  • C# 开发工具Visual Studio下载和安装
  • vue3中子组件获取父组件的name,父组件不做修改动作
  • JavaScript中的主要知识点
  • Windows 图形显示驱动开发-WDDM 3.2-GPU-P 设备上的实时迁移(一)
  • 【vscode】一键编译运行c/c++程序
  • 深度解析 slabtop:实时监控内核缓存的利器
  • 短分享-Flink图构建
  • python里调用外部控制台应用程序的方法~
  • 【人工智能学习之局部极小值与鞍点】
  • 测试用例详解
  • BetaFlight源码解读01
  • 国宝归来!子弹库帛书二、三卷抵达北京
  • 河南一县政府党组成员签订抵制违规吃喝问题承诺书,现场交给县长
  • 下周或迎外贸“抢出口”高峰,跨境电商敏感货物如何便利化“登机”?
  • 国寿资产获批参与第三批保险资金长期投资改革试点
  • 大外交|巴西总统卢拉第六次访华签署20项协议,“双方都视对方为机遇”
  • 上海北外滩开发建设五周年交出亮眼答卷,未来五年有何新目标?