欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

一、Decimal.js 簡介

decimal.js 是一個用于任意精度算術(shù)運(yùn)算的 JavaScript 庫,它可以完美解決浮點(diǎn)數(shù)計(jì)算中的精度丟失問題。

官方API文檔:Decimal.js

特性:

  1. 任意精度計(jì)算:支持大數(shù)、小數(shù)的高精度運(yùn)算。

  2. 鏈?zhǔn)秸{(diào)用:簡潔的鏈?zhǔn)讲僮鞣绞健?/p>

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

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

安裝

在項(xiàng)目中使用 decimal.js 需要先安裝庫:

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

二、Decimal.js 的基本用法

創(chuàng)建 Decimal 對象

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

import Decimal from 'decimal.js'

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

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

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

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

基本運(yùn)算

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

鏈?zhǔn)秸{(diào)用

可以通過鏈?zhǔn)秸{(diào)用簡化復(fù)雜的計(jì)算邏輯。

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

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

比較大小

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

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

數(shù)學(xué)運(yùn)算

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

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

總結(jié)

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

相關(guān)文章

  • JavaScript操作Oracle數(shù)據(jù)庫示例

    JavaScript操作Oracle數(shù)據(jù)庫示例

    這篇文章主要介紹了JavaScript操作Oracle數(shù)據(jù)庫示例,本文使用ActiveXObject實(shí)現(xiàn)訪問Oracle數(shù)據(jù)庫,需要的朋友可以參考下
    2015-03-03
  • WEEX環(huán)境搭建與入門詳解

    WEEX環(huán)境搭建與入門詳解

    這篇文章主要介紹了WEEX環(huán)境搭建與入門詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • js 程序執(zhí)行與順序?qū)崿F(xiàn)詳解

    js 程序執(zhí)行與順序?qū)崿F(xiàn)詳解

    JavaScript是一種描述型腳本語言,由瀏覽器進(jìn)行動態(tài)的解析與執(zhí)行,瀏覽器對于不同的方式有不同的解析順序,詳細(xì)介紹如下,感興趣的朋友可以參考下哈
    2013-05-05
  • 使用JavaScript實(shí)現(xiàn)類數(shù)組對象轉(zhuǎn)換為數(shù)組的方法

    使用JavaScript實(shí)現(xiàn)類數(shù)組對象轉(zhuǎn)換為數(shù)組的方法

    在?JavaScript?開發(fā)中,我們經(jīng)常會遇到"類數(shù)組對象"(array-like?objects),這些對象看起來像數(shù)組,有?length?屬性,也可以通過索引訪問元素,但它們不具備數(shù)組的方法,本文將詳細(xì)介紹如何將類數(shù)組對象轉(zhuǎn)換為真正的數(shù)組,需要的朋友可以參考下
    2025-04-04
  • Javascript數(shù)據(jù)結(jié)構(gòu)與算法之列表詳解

    Javascript數(shù)據(jù)結(jié)構(gòu)與算法之列表詳解

    這篇文章主要介紹了Javascript數(shù)據(jù)結(jié)構(gòu)與算法之列表詳解,本文講解了列表的抽象數(shù)據(jù)類型定義、如何實(shí)現(xiàn)列表類等內(nèi)容,需要的朋友可以參考下
    2015-03-03
  • 微信小程序日歷插件代碼實(shí)例

    微信小程序日歷插件代碼實(shí)例

    這篇文章主要介紹了微信小程序日歷插件代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-12-12
  • JavaScript中代理與反射的用法詳解

    JavaScript中代理與反射的用法詳解

    JavaScript作為一門靈活而強(qiáng)大的語言,提供了代理(Proxy)與反射(Reflect)這兩個元編程工具,它們?yōu)殚_發(fā)者提供了更深層次的語言控制和操作,在本篇博客中,我們將深入研究代理與反射的概念、用法,以及如何巧妙地結(jié)合它們來實(shí)現(xiàn)高級的編程技巧,需要的朋友可以參考下
    2023-12-12
  • 使用JavaScript實(shí)現(xiàn)小球按照貝塞爾曲線運(yùn)動

    使用JavaScript實(shí)現(xiàn)小球按照貝塞爾曲線運(yùn)動

    要在 JavaScript 中實(shí)現(xiàn)一個按照貝塞爾曲線運(yùn)動的小球,關(guān)鍵是要掌握貝塞爾公式的基本原理和實(shí)現(xiàn)方式,以及使用 JavaScript 處理動畫和物理運(yùn)算,感興趣的小伙伴跟著小編一起來看看吧
    2024-10-10
  • 多個jquery.datatable共存,checkbox全選異常的快速解決方法

    多個jquery.datatable共存,checkbox全選異常的快速解決方法

    這篇文章主要介紹了多個jquery.datatable共存,checkbox全選異常的快速解決方法。需要的朋友可以過來參考下,希望對大家有所幫助
    2013-12-12
  • 分享15個JavaScript的重要數(shù)組方法

    分享15個JavaScript的重要數(shù)組方法

    這篇文章主要介紹了分享15個JavaScript的重要數(shù)組方法,數(shù)組方法的重要一點(diǎn)是有些是可變的,有些是不可變的。在決定針對特定問題使用哪種方法時,務(wù)必牢記,下文就來分享重要數(shù)組方法,需要的小伙伴可以參考一下
    2022-05-05

最新評論