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

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

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

一、Decimal.js 簡(jiǎn)介

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

官方API文檔:Decimal.js

特性:

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

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

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

  4. 跨平臺(tái):可以在瀏覽器和 Node.js 中使用。

安裝

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

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

二、Decimal.js 的基本用法

創(chuàng)建 Decimal 對(duì)象

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

import Decimal from 'decimal.js'

// 創(chuàng)建 Decimal 對(duì)象,最好使用字符串,防止原生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é)果是一個(gè)Decimal對(duì)象,需要使用Decimal對(duì)象的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)用簡(jiǎn)化復(fù)雜的計(jì)算邏輯。

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

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

比較大小

可以通過 Decimal 提供的比較方法來比較兩個(gè)數(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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

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

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

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

    java、javascript實(shí)現(xiàn)附件下載示例

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

    JS中6個(gè)對(duì)象數(shù)組去重的方法

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

    JavaScript驗(yàn)證圖片類型(擴(kuò)展名)的函數(shù)分享

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

    七種JS實(shí)現(xiàn)數(shù)組去重的方式

    這篇文章主要介紹了七種JS實(shí)現(xiàn)數(shù)組去重的方式,下面文章以JS數(shù)組去重的相關(guān)資料展開全文內(nèi)容,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2021-12-12
  • fullpage.js全屏滾動(dòng)的具體使用方法

    fullpage.js全屏滾動(dòng)的具體使用方法

    fullPage.js 是一個(gè)基于 jQuery 的插件,它能夠很方便、很輕松的制作出全屏網(wǎng)站,本文主要介紹了fullpage.js全屏滾動(dòng)的具體使用方法,感興趣的可以了解一下
    2021-09-09
  • 微信小程序?qū)崿F(xiàn)自動(dòng)播放視頻模仿gif動(dòng)圖效果實(shí)例

    微信小程序?qū)崿F(xiàn)自動(dòng)播放視頻模仿gif動(dòng)圖效果實(shí)例

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

    JavaScript數(shù)組及非數(shù)組對(duì)象的深淺克隆詳解原理

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

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

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

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

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

最新評(píng)論

同仁县| 宜阳县| 姚安县| 定州市| 房产| 扶余县| 安庆市| 蚌埠市| 前郭尔| 江陵县| 西和县| 宁都县| 怀集县| 轮台县| 太仆寺旗| 台北县| 连平县| 鲁山县| 清镇市| 沧源| 娱乐| 潢川县| 武平县| 石屏县| 思茅市| 资溪县| 青田县| 陕西省| 鹤山市| 库伦旗| 浠水县| 古浪县| 施甸县| 乡城县| 惠水县| 贡山| 织金县| 黔东| 望江县| 霍州市| 绥棱县|