当前位置:首页 > JavaScript

js实现数值计算

2026-02-02 16:38:50JavaScript

JavaScript 数值计算基础

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

基本算术运算

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

js实现数值计算

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 的浮点数运算可能产生精度误差,需特殊处理:

js实现数值计算

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

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 支持矩阵、复数等运算:

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手势实现

手势识别实现方法 在JavaScript中实现手势识别通常涉及监听触摸事件(touchstart、touchmove、touchend)或鼠标事件(mousedown、mousemove、mouseu…

使用js实现

使用js实现

使用JavaScript实现 JavaScript可以通过Math.random()函数生成随机数,结合其他方法可以实现多种随机数生成需求。 // 生成0到1之间的随机小数 const random…

js 实现滚动

js 实现滚动

实现滚动的方法 使用 window.scrollTo() window.scrollTo() 方法可以滚动到文档中的特定位置。可以指定 x 和 y 坐标,或者使用平滑滚动的选项。 // 滚动到指定位…

js实现下拉刷新

js实现下拉刷新

监听触摸事件 通过监听 touchstart、touchmove 和 touchend 事件来检测用户下拉手势。记录触摸起始位置和移动距离。 let startY = 0; let curr…

js实现定位

js实现定位

使用Geolocation API获取当前位置 在JavaScript中,可以通过浏览器内置的Geolocation API获取用户的地理位置信息。该API需要用户授权才能访问位置数据。 if (n…

js 实现页面刷新

js 实现页面刷新

使用 location.reload() location.reload() 是原生 JavaScript 提供的页面刷新方法。调用该方法会重新加载当前页面,相当于点击浏览器的刷新按钮。 // 基本…