BigDecimal en JavaScript
Cet article discutera des utilisations de BigDecimal
en JavaScript.
Utilisation de BigDecimal
en JavaScript
Avant de travailler sur le fonctionnement de BigDecimal
en JavaScript, vous devez connaître BigDecimal
. Un BigDecimal
consiste en une valeur entière de précision arbitraire non mise à l’échelle avec une échelle entière de 32 bits.
Si l’échelle est zéro ou positive, c’est le nombre de chiffres à droite de la virgule décimale. Si l’entier est négatif, la valeur non mise à l’échelle est multipliée par dix à la puissance de la négation de l’échelle.
BigDecimal
détermine l’égalité et les codes de hachage à l’aide de la représentation décimale des entiers binaires à virgule flottante. Cela produit des résultats différents de la conversion entre les nombres longs et doubles, qui utilise la forme précise.
Notez que vous devez installer le package npm
de BigDecimal
avant d’exécuter le code.
Enregistrez le code ci-dessous en tant que fichier d’extension js
.
let bDecimal = require('bigdecimal');
let num = new bDecimal.BigInteger('123456abcdefghijklmn7890', 25);
console.log('num is ' + num);
let newD = new bDecimal.BigDecimal(num);
let k = new bDecimal.BigDecimal('4567890.12345612345678901234567890123');
console.log('newD * k = ' + newD.multiply(k));
let two = new bDecimal.BigDecimal('2');
console.log('Average = ' + newD.add(k).divide(two));
Vous pouvez voir différentes méthodes comme multiply()
, add()
, divide()
. La méthode add()
ajoute une valeur d’objet BigDecimal
à une autre où newD
est un objet BigDecimal
, newD
est ajouté à k
.
Alors que la méthode multiply()
multiplie une valeur d’objet BigDecimal
par une autre, la méthode divide()
divise une valeur BigDecimal
par une autre.
Lors de la conversion d’un Double ou d’un Float en un BigDecimal
, il faut être prudent car la représentation de la fraction binaire du Double et du Float ne se transfère pas simplement en une représentation décimale.
Production:
BigDecimal
est idéal pour l’arithmétique des données financières ou tout ce qui dépasse le type JavaScript Integer (IEEE-754 float). Decimal n’a pas été inclus dans les nouvelles normes ECMAScript.
Shiv is a self-driven and passionate Machine learning Learner who is innovative in application design, development, testing, and deployment and provides program requirements into sustainable advanced technical solutions through JavaScript, Python, and other programs for continuous improvement of AI technologies.
LinkedIn