vue中使用Decimal.js對數據進行高精度處理


一、介紹

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

二、解決問題

  • 精度問題(金錢失真問題):當 對數據進行浮點運算時候,可能會因為丟失精度而導致奇怪的結果,這時使用decimal可以很好的解決該問題。

三、實例

  下面用 浮點型數據地加減乘除和使用decimal進行加減乘除 對結果進行比較:

  1、npm命令引入decimal.js文件

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

  2、使用

methods: {
    handleDecimalData() {
        //加法
        var a1 = 0.13
        var b1 = 0.25
        let c1 = new Decimal(a1).add(new Decimal(b1)) 
        console.log("加法運算 a1 + b1 =",a1 + b1)
        console.log("使用decimal.js a1 + b1 =",c1.toNumber())
        //減法
        var a2 = 1.0
        var b2 = 0.99
        let c2 = new Decimal(a2).sub(new Decimal(b2)) 
        console.log("減法運算 a2 - b2 =",a2 - b2)
        console.log("使用decimal.js a2 - b2 =",c2.toNumber().toFixed(2))
        //乘法
        var a3 = 1.01
        var b3 = 1.02
        let c3 = new Decimal(a3).mul(new Decimal(b3)) 
        console.log("乘法運算 a3 * b3 = ", a3 * b3)
        console.log("使用decimal.js a3 * b3 = ",c3.toNumber())
        //除法
        var a4 = 0.033
        var b4 = 10
        let c4 = new Decimal(a4).div(new Decimal(b4)) 
        console.log("除法運算 a4 / b4 = ", a4 / b4)
        console.log("使用decimal.js a4 / b4 = ",c4.toNumber())
    }
}    

結果:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM