big-decimal

Javascript version of the com.ibm.icu.math.BigDecimal and com.ibm.icu.math.MathContext Java classes from the ICU4J project.

Usage no npm install needed!

<script type="module">
  import bigDecimal from 'https://cdn.skypack.dev/big-decimal';
</script>

README

Node.js

To install run: npm install big-decimal --save

var big = require('big-decimal');

var x = new big('1234.5678000');

console.log(new big("1234.0000").isLessThan(new big("1234.5678"))); // true

Build

To build the project run: bash run_closure_compiler.sh

Legacy

This is a copy of version 1.0.1 of the STZ-IDA JavaScript translation of the com.ibm.icu.math.BigDecimal and com.ibm.icu.math.MathContext Java classes from the ICU4J project.

Version History

This version includes a small bug fix in the implementation of the pow() function. See this answer on Stack Overflow for more information.

License

The author of the translation has stated:

Die JavaScript-Klassen sind eine 1:1-Umsetzung der MathContext- und BigDecimal-Java-Klassen, die IBM im Projekt International Components for Unicode for Java realisiert hat. Sie stehen unter der gleichen Lizenz wie die Original-Klassen, was im wesentlichen bedeutet, dass sie beliebig verwendet werden dürfen, sofern die Copyright-Angaben erhalten bleiben. / The JavaScript classes are a one-to-one translation of the MathContext and BigDecimal Java classes that IBM implemented for the ICU4J project. They are licensed under the same license as the original classes, which essentially means that they may be used freely, provided that the copyright information remains.

Using ICU4J's Subversion repository, I was able to determine that the JavaScript was generated from the versions of MathContext.java and BigDecimal.java that were first distributed with ICU4J release 2.4, and unmodified in each subsequent release. The JavaScript sources, therefore, are licensed under the terms of the ICU4J License, either the version thereof that was distributed with ICU4J-2.4 or any subsequent release.

Related Projects