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

保姆級Decimal.js使用教程(解決js精度問題)

 更新時間:2024年05月07日 09:22:48   作者:碼路老默007  
這篇文章主要給大家介紹了關(guān)于保姆級Decimal.js使用的相關(guān)資料,文中介紹的方法主要解決了js精度問題,decimal.js庫它是一個強大的JavaScript庫,用于解決浮點數(shù)計算精度不準(zhǔn)確的問題,需要的朋友可以參考下

精度問題控制臺圖樣

如果銀行的業(yè)務(wù)你這樣做,不知道要損失多少錢,這樣是不行的,計算的不準(zhǔn)確是需要背鍋的,我們給后端去做吧,其實我們前端也是可以做的,引入Decimal.js

01.引入Decimal.js

decimal.js是使用的二進制來計算的,所以可以更好地實現(xiàn)格化式數(shù)學(xué)運算,對數(shù)字進行高精度處理;使用decimal類型處理數(shù)據(jù)可以保證數(shù)據(jù)計算更為精確,還可以節(jié)省儲存空間。

$ npm install --save decimal.js
/**  Node.js  */
var Decimal = require('decimal.js')
 
/** ES6 方式 */
import { Decimal } from 'decimal.js'

02.使用

<template>
  <div>
    test
  </div>
</template>
<script>

import Decimal from 'decimal.js'

export default {
  created() {
    console.log('打印8.12*100的結(jié)果', 8.12*100)
    console.log('打印9.12*100的結(jié)果', 9.12*100)

    let c = new Decimal(8.12).mul(new Decimal(100))
    let d = new Decimal(9.12).mul(new Decimal(100))
    console.log('c', c)
    console.log('d', d)
  }
}
</script>

加減乘除全上

 const a = 9.98;
 const b = 8.03;
 
 // 加法
 let c = new Decimal(a).add(new Decimal(b)) 
 
 // 減法
 let d = new Decimal(a).sub(new Decimal(b))
 
 // 乘法
 let e = new Decimal(a).mul(new Decimal(b))
    
 // 除法
 let f = new Decimal(a).div(new Decimal(b))

附:Vue項目完整例子

下面是一個完整的示例,展示了如何在Vue項目中使用decimal.js庫進行高精度計算:

<template>
  <div>
    <p>0.1 + 0.2 = {{ result }}</p>
  </div>
</template>

<script>
import { Decimal } from 'decimal.js';

export default {
  data() {
    return {
      result: null,
    };
  },
  mounted() {
    const num1 = new Decimal(0.1);
    const num2 = new Decimal('0.2');
    const sum = num1.plus(num2);
    this.result = sum.toNumber();
  },
};
</script>

在上述示例中,我們通過Decimal類創(chuàng)建了兩個Decimal對象,并使用plus()方法執(zhí)行加法運算。最后,通過toNumber()方法將結(jié)果轉(zhuǎn)換為JavaScript原生的Number類型,并綁定到Vue組件的result數(shù)據(jù)屬性上,以在模板中顯示計算結(jié)果。

總結(jié) 

到此這篇關(guān)于保姆級Decimal.js使用的文章就介紹到這了,更多相關(guān)Decimal.js解決精度問題內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • webpack使用及如何搭建cesium三維地球環(huán)境

    webpack使用及如何搭建cesium三維地球環(huán)境

    這篇文章主要介紹了webpack快速上手之搭建cesium三維地球環(huán)境,本文使用的是webpack5,webpack5 升級后默認(rèn)是不支持polyfill的,編譯時會報錯,本文主要介紹了Cesium以及Webpack的使用,如何將Cesium一步步地集成到Webpack中,需要的朋友可以參考下
    2023-11-11
  • JS實現(xiàn)動態(tài)無縫輪播

    JS實現(xiàn)動態(tài)無縫輪播

    這篇文章主要為大家詳細(xì)介紹了JS實現(xiàn)動態(tài)無縫輪播,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-01-01
  • JavaScript如何判斷對象有某屬性

    JavaScript如何判斷對象有某屬性

    這篇文章主要介紹了JavaScript如何判斷對象有某屬性,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-07-07
  • JS設(shè)置cookie、讀取cookie、刪除cookie

    JS設(shè)置cookie、讀取cookie、刪除cookie

    Js操作Cookie總結(jié)(設(shè)置,讀取,刪除),工作中經(jīng)常會用到的哦!下面是詳細(xì)代碼,如有錯誤,請留言指正!
    2015-04-04
  • Markdown與Bootstrap相結(jié)合實現(xiàn)圖片自適應(yīng)屬性

    Markdown與Bootstrap相結(jié)合實現(xiàn)圖片自適應(yīng)屬性

    Markdown 是一種輕量級的標(biāo)記語言,它的優(yōu)點很多,目前也被越來越多的寫作愛好者,撰稿者廣泛使用。接下來通過本文給大家介紹Markdown與Bootstrap相結(jié)合實現(xiàn)圖片自適應(yīng)屬性,感興趣的朋友一起學(xué)習(xí)吧
    2016-05-05
  • 詳解JavaScript對Date對象的操作問題(生成一個倒數(shù)7天的數(shù)組)

    詳解JavaScript對Date對象的操作問題(生成一個倒數(shù)7天的數(shù)組)

    最近項目需求要生成一個倒數(shù)7天的數(shù)組,下面小編把我的實現(xiàn)思路和代碼整理分享給大家,供大家參考,需要的朋友可以參考下
    2015-10-10
  • JavaScript 中問號的三種用法 ??和?.以及?:

    JavaScript 中問號的三種用法 ??和?.以及?:

    本文主要介紹了JavaScript 中問號的三種用法 ??和?.以及?: ,分別是空值合并操作符、可選鏈操作符和三目運算,具有一定的參考價值,感興趣的可以了解一下
    2025-04-04
  • 十分鐘教你上手ES2020新特性

    十分鐘教你上手ES2020新特性

    這篇文章主要介紹了十分鐘教你上手ES2020新特性,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • JavaScript實現(xiàn)無阻塞加載的常用方式

    JavaScript實現(xiàn)無阻塞加載的常用方式

    在 JavaScript 中,無阻塞加載(Non-blocking Loading)是優(yōu)化網(wǎng)頁性能的關(guān)鍵技術(shù),通過避免腳本阻塞頁面渲染和其他資源的加載,提升用戶體驗,以下是實現(xiàn)無阻塞加載的常用方法及示例,需要的朋友可以參考下
    2025-03-03
  • Bootstrap 網(wǎng)站實例之單頁營銷網(wǎng)站

    Bootstrap 網(wǎng)站實例之單頁營銷網(wǎng)站

    這篇文章主要介紹了Bootstrap 網(wǎng)站實例之單頁營銷網(wǎng)站的相關(guān)資料,本文給大家介紹的非常詳細(xì)具有一定的參考借鑒價值,需要的朋友可以參考下
    2016-10-10

最新評論