BigDecimal en JavaScript

Shiv Yadav 15 febrero 2024
BigDecimal en JavaScript

Este artículo discutirá los usos de BigDecimal en JavaScript.

Uso de BigDecimal en JavaScript

Antes de trabajar en cómo funciona BigDecimal en JavaScript, debe conocer BigDecimal. Un BigDecimal consta de un valor entero de precisión arbitraria sin escalar con una escala de enteros de 32 bits.

Si la escala es cero o positiva, es el número de dígitos a la derecha del punto decimal. Si el entero es negativo, el valor sin escalar se multiplica por diez elevado a la potencia de la negación de la escala.

BigDecimal determina la igualdad y los códigos hash utilizando la representación decimal de enteros binarios de punto flotante. Esto produce resultados diferentes a la conversión entre números largos y dobles, que utiliza la forma precisa.

Tenga en cuenta que debe instalar el paquete npm de BigDecimal antes de ejecutar el código.

Guarde el siguiente código como un archivo de extensión 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));

Puede ver diferentes métodos como multiply(), add(), divide(). El método add() agrega un valor de objeto BigDecimal a otro donde newD es un objeto BigDecimal, newD se agrega a k.

Mientras que el método multiply() multiplica un valor de objeto BigDecimal por otro, el método divide() divide el valor de un BigDecimal por otro.

Al convertir un Double o Float en un BigDecimal, se debe tener precaución ya que la representación de fracción binaria de Double y Float no se transfiere simplemente a una representación decimal.

Producción:

Uso de BigDecimal en JavaScript

BigDecimal es ideal para la aritmética de datos financieros o cualquier cosa que exceda el tipo JavaScript Integer (IEEE-754 float). Decimal no se incluyó en los nuevos estándares ECMAScript.

Autor: Shiv Yadav
Shiv Yadav avatar Shiv Yadav avatar

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

Artículo relacionado - JavaScript Math