保姆級(jí)Decimal.js使用教程(解決js精度問題)
精度問題控制臺(tái)圖樣

如果銀行的業(yè)務(wù)你這樣做,不知道要損失多少錢,這樣是不行的,計(jì)算的不準(zhǔn)確是需要背鍋的,我們給后端去做吧,其實(shí)我們前端也是可以做的,引入Decimal.js
01.引入Decimal.js
decimal.js是使用的二進(jìn)制來計(jì)算的,所以可以更好地實(shí)現(xiàn)格化式數(shù)學(xué)運(yùn)算,對(duì)數(shù)字進(jìn)行高精度處理;使用decimal類型處理數(shù)據(jù)可以保證數(shù)據(jù)計(jì)算更為精確,還可以節(jié)省儲(chǔ)存空間。
$ 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項(xiàng)目完整例子
下面是一個(gè)完整的示例,展示了如何在Vue項(xiàng)目中使用decimal.js庫進(jìn)行高精度計(jì)算:
<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)建了兩個(gè)Decimal對(duì)象,并使用plus()方法執(zhí)行加法運(yùn)算。最后,通過toNumber()方法將結(jié)果轉(zhuǎn)換為JavaScript原生的Number類型,并綁定到Vue組件的result數(shù)據(jù)屬性上,以在模板中顯示計(jì)算結(jié)果。
總結(jié)
到此這篇關(guān)于保姆級(jí)Decimal.js使用的文章就介紹到這了,更多相關(guān)Decimal.js解決精度問題內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
el-tree限制選中個(gè)數(shù)的實(shí)例
這篇文章主要介紹了el-tree限制選中個(gè)數(shù),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2024-08-08
微信小程序 仿美團(tuán)分類菜單 swiper分類菜單
本文主要介紹了微信小程序仿美團(tuán)分類菜單(swiper分類菜單)的相關(guān)知識(shí)。具有很好的參考價(jià)值。下面跟著小編一起來看下吧2017-04-04
一文詳解preact的高性能狀態(tài)管理Signals
這篇文章主要介紹了一文詳解preact的高性能狀態(tài)管理Signals,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,感興趣的朋友可以參考一下2022-09-09
JS使用iView的Dropdown實(shí)現(xiàn)一個(gè)右鍵菜單
這篇文章主要介紹了JS使用iView的Dropdown實(shí)現(xiàn)一個(gè)右鍵菜單功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-05-05
javascript判斷數(shù)組內(nèi)是否重復(fù)的方法
這篇文章主要介紹了javascript判斷數(shù)組內(nèi)是否重復(fù)的方法,涉及javascript針對(duì)數(shù)組的相關(guān)操作技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04
使用JavaScript計(jì)算當(dāng)前時(shí)間前N個(gè)工作日的方法技巧
在Web開發(fā)中,處理日期和時(shí)間是常見的需求之一,特別是在金融、人力資源等領(lǐng)域,經(jīng)常需要計(jì)算特定的日期范圍或工作日,本文將深入探討如何使用JavaScript計(jì)算當(dāng)前時(shí)間前N個(gè)工作日,并提供詳細(xì)的代碼示例和實(shí)際開發(fā)中的技巧,需要的朋友可以參考下2025-02-02

