当前位置:首页 > JavaScript

js实现数值计算

2026-02-02 16:38:50JavaScript

JavaScript 数值计算基础

JavaScript 提供多种方式处理数值计算,包括基本算术运算、数学函数库以及高精度计算方案。

基本算术运算

直接使用运算符进行加减乘除和取模运算:

const sum = 1 + 2;       // 加法 → 3  
const product = 3 * 4;   // 乘法 → 12  
const remainder = 10 % 3; // 取模 → 1  

Math 对象常用方法

内置 Math 对象提供数学函数:

Math.sqrt(16);      // 平方根 → 4  
Math.pow(2, 3);      // 幂运算 → 8  
Math.round(3.6);    // 四舍五入 → 4  
Math.floor(3.6);    // 向下取整 → 3  
Math.ceil(3.2);     // 向上取整 → 4  
Math.random();      // 生成 0-1 随机数  

处理浮点数精度问题

JavaScript 的浮点数运算可能产生精度误差,需特殊处理:

方案一:扩大为整数运算后还原

const result = (0.1 * 10 + 0.2 * 10) / 10; // 0.3  

方案二:使用 toFixed() 控制小数位

const num = (0.1 + 0.2).toFixed(1); // "0.3"(返回字符串)  

方案三:引入第三方库

  • Big.js:适用于高精度计算
    import Big from 'big.js';  
    new Big(0.1).plus(0.2).toString(); // "0.3"  

科学计算与扩展需求

处理大整数

ES2020 引入 BigInt 类型:

const largeNum = BigInt(9007199254740991) + BigInt(1);  

复杂数学运算

使用库如 math.js 支持矩阵、复数等运算:

js实现数值计算

import { evaluate } from 'mathjs';  
evaluate('sqrt(16) + log(100)'); // 6  

注意事项

  • 避免直接比较浮点数,使用误差范围:
    Math.abs(0.1 + 0.2 - 0.3) < 1e-10; // true  
  • 数值转换时检查 NaN
    isNaN(parseInt("abc")); // true  

标签: 数值js
分享给朋友:

相关文章

js 实现继承

js 实现继承

原型链继承 通过让子类的原型对象指向父类的实例来实现继承。子类实例可以访问父类原型上的属性和方法。 function Parent() { this.name = 'parent'; } Par…

原生js实现轮播图

原生js实现轮播图

基本结构搭建 HTML部分需要包含轮播图容器、图片列表及导航按钮。结构示例如下: <div class="slider-container"> <div class="slid…

js防抖和节流实现

js防抖和节流实现

防抖(Debounce)的实现 防抖的核心思想是在事件被触发后,延迟执行回调函数。如果在延迟时间内再次触发事件,则重新计时。适用于输入框搜索、窗口大小调整等场景。 function debounce…

js实现报表

js实现报表

使用JavaScript实现报表 在JavaScript中实现报表功能可以通过多种方式完成,常见的方法包括使用原生JavaScript、第三方库(如Chart.js、D3.js)或结合后端数据渲染。以…

js实现二叉树

js实现二叉树

二叉树的基本概念 二叉树是一种树形数据结构,每个节点最多有两个子节点,分别称为左子节点和右子节点。二叉树的常见操作包括插入、删除、遍历等。 二叉树的节点定义 在JavaScript中,二叉树的节点可…

js实现驼峰

js实现驼峰

实现驼峰命名的几种方法 使用正则表达式和字符串替换 通过正则表达式匹配字符串中的特定模式(如下划线或短横线),并将其后的字母转换为大写,同时移除分隔符。 function toCamelCase(s…