最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

前端精度計算Decimal.js基本用法與舉例詳解

 更新時間:2025年07月08日 08:19:25   作者:sunn。  
Decimal.js 是一個小型庫,用于解決浮點數計算的不精確問題,支持鏈式調用、加減乘除、取冪、平方根等運算,這篇文章主要介紹了前端精度計算Decimal.js基本用法的相關資料,需要的朋友可以參考下

一、Decimal.js 簡介

decimal.js 是一個用于任意精度算術運算的 JavaScript 庫,它可以完美解決浮點數計算中的精度丟失問題。

官方API文檔:Decimal.js

特性:

  1. 任意精度計算:支持大數、小數的高精度運算。

  2. 鏈式調用:簡潔的鏈式操作方式。

  3. 支持所有常見運算:加減乘除、取冪、平方根、取模等。

  4. 跨平臺:可以在瀏覽器和 Node.js 中使用。

安裝

在項目中使用 decimal.js 需要先安裝庫:

// 終端輸入命令 
npm/cnpm/pnpm install decimal.js

二、Decimal.js 的基本用法

創(chuàng)建 Decimal 對象

可以通過構造函數創(chuàng)建 Decimal 對象,支持多種格式的輸入。

import Decimal from 'decimal.js'

// 創(chuàng)建 Decimal 對象,最好使用字符串,防止原生js數字過大自帶的精度問題,例如12345678987654321

const num1 = new Decimal(0.1);// 可以不要new關鍵字,兩種方法等同Decimal(0.1)
const num2 = new Decimal('0.2');
const num3 = new Decimal(0.3);

// 得到的結果是一個Decimal對象,需要使用Decimal對象的toString或者toNumber獲取正常數據
console.log(num1.toString()); // 輸出 "0.1"

console.log(num2.toString()); // 輸出 "0.2"

基本運算

Decimal.js 支持常見的加、減、乘、除等操作。

const num1 = new Decimal(0.1);
const num2 = new Decimal(0.2);

console.log(num1.plus(num2).toString()); // 加法:0.3

console.log(num1.minus(num2).toString()); // 減法:-0.1

console.log(num1.times(num2).toString()); // 乘法:0.02

console.log(num1.div(num2).toString()); // 除法:0.5

鏈式調用

可以通過鏈式調用簡化復雜的計算邏輯。

const result = new Decimal(0.1).plus(0.2)
  .times(10)
  .div(3);

console.log(result.toString()); // 輸出 "1"

比較大小

可以通過 Decimal 提供的比較方法來比較兩個數的大小。

const num1 = new Decimal(0.1);
const num2 = new Decimal(0.2);

console.log(num1.lessThan(num2)); // true

console.log(num1.greaterThan(num2)); //false

console.log(num1.equals(0.1)); // true

數學運算

Decimal.js 還支持其他常見的數學操作,例如取冪、平方根等。

const num = new Decimal(2);

console.log(num.pow(3).toString()); // 8

console.log(num.sqrt().toString()); // 1.4142135623730951

四舍五入與精度控制

Decimal.js 提供了方便的四舍五入和精度控制方法:

const num = new Decimal(1.23456789);

console.log(num.toFixed(2)); // 1.23

console.log(num.toPrecision(4)); // 1.235

console.log(num.round().toString()); // 1

總結

到此這篇關于前端精度計算Decimal.js基本用法與舉例詳解的文章就介紹到這了,更多相關前端精度計算Decimal.js用法內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • uniapp-路由uni-simple-router安裝配置教程

    uniapp-路由uni-simple-router安裝配置教程

    專為uniapp打造的路由器,和uniapp深度集成,uniapp用到了很多vue的api,但在路由管理的功能相對于vue-router還是比較欠缺的,比如全局導航守衛(wèi),本文給大家講解uniapp-路由uni-simple-router相關知識,感興趣的朋友跟隨小編一起看看吧
    2022-11-11
  • java、javascript實現附件下載示例

    java、javascript實現附件下載示例

    在web開發(fā)中,經常需要開發(fā)“下載”這一模塊,下面使用java、javascript實現附件下載,需要的朋友可以參考下
    2014-08-08
  • JS中6個對象數組去重的方法

    JS中6個對象數組去重的方法

    這篇文章主要給大家介紹了關于JS中6個對象數組去重的方法,javascript數組去重是一個比較常見的需求,解決方法也有很多種,文中每種解決方法都給出了示例代碼,需要的朋友可以參考下
    2023-07-07
  • JavaScript驗證圖片類型(擴展名)的函數分享

    JavaScript驗證圖片類型(擴展名)的函數分享

    這篇文章主要介紹了JavaScript驗證圖片類型的函數分享,需要的朋友可以參考下
    2014-05-05
  • 七種JS實現數組去重的方式

    七種JS實現數組去重的方式

    這篇文章主要介紹了七種JS實現數組去重的方式,下面文章以JS數組去重的相關資料展開全文內容,具有一定的參考價值,需要的小伙伴可以參考一下
    2021-12-12
  • fullpage.js全屏滾動的具體使用方法

    fullpage.js全屏滾動的具體使用方法

    fullPage.js 是一個基于 jQuery 的插件,它能夠很方便、很輕松的制作出全屏網站,本文主要介紹了fullpage.js全屏滾動的具體使用方法,感興趣的可以了解一下
    2021-09-09
  • 微信小程序實現自動播放視頻模仿gif動圖效果實例

    微信小程序實現自動播放視頻模仿gif動圖效果實例

    這篇文章主要給大家介紹了關于微信小程序實現自動播放視頻模仿gif動圖效果的相關資料,通過本文介紹的方法可以實現自動播放視頻,視頻無控制條無聲音且自動循環(huán)播放,需要的朋友可以參考下
    2021-07-07
  • JavaScript數組及非數組對象的深淺克隆詳解原理

    JavaScript數組及非數組對象的深淺克隆詳解原理

    JavaScript中數組的方法種類眾多,在ES3-ES7不同版本時期都有新方法;并且數組的方法還有原型方法和從object繼承的方法,本文介紹了JavaScript數組及非數組對象的深淺克隆,希望讀者能從中有所收獲
    2021-10-10
  • 詳解小程序如何改變onLoad的執(zhí)行時機

    詳解小程序如何改變onLoad的執(zhí)行時機

    這篇文章主要介紹了詳解小程序如何改變onLoad的執(zhí)行時機,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-11-11
  • JavaScript大文件上傳的處理方法之切片上傳

    JavaScript大文件上傳的處理方法之切片上傳

    這篇文章主要介紹了JavaScript大文件上傳的處理方法之切片上傳,切片上傳的原理較為簡單,即獲取文件后切片,切片后整理好每個切片的參數并發(fā)請求即可
    2022-06-06

最新評論

凤翔县| 安龙县| 库伦旗| 海口市| 玛多县| 海安县| 穆棱市| 长岭县| 松原市| 湟中县| 朔州市| 台州市| 红安县| 调兵山市| 永安市| 安阳县| 象山县| 固镇县| 七台河市| 东台市| 昌吉市| 鲁甸县| 大埔县| 奉贤区| 隆昌县| 文成县| 邻水| 罗山县| 抚宁县| 延津县| 唐海县| 河源市| 汽车| 临沧市| 葫芦岛市| 长治市| 井研县| 泊头市| 吉安市| 盐津县| 陇西县|