no, just use one BigInt padded with a bunch of zeroes (e.g. instead of $12.34, 
use 1234000000, and round to nearest integer for division).  this is what i 
meant by “fixed point” decimal.
for current javascript double-precision numbers, you can do integer arithmetic 
up to around 9,007,199,254,000,000 which at my previous company, was 
good-enough to use for currency conversions.

> On Aug 7, 2017, at 2:12 AM, Isiah Meadows <isiahmead...@gmail.com> wrote:
> 
> FYI, you could create a BigFloat class using two BigInts, one for the
> value, the other for the decimal point position. You could go from
> there to model infinite-precision values, using a bit of math to
> ensure the two fields remain correct.
> -----
> 
> Isiah Meadows
> m...@isiahmeadows.com
> 
> Looking for web consulting? Or a new website?
> Send me an email and we can get started.
> www.isiahmeadows.com
> 
> 
> On Fri, Aug 4, 2017 at 11:42 AM, Bruno Jouhier <bjouh...@gmail.com> wrote:
>> BigDecimal is a MUST for accounting.
>> 
>> Main reasons:
>> 
>> JS number precision is too limited (16 digits)
>> Decimal numbers are not represented "exactly" by JS numbers => comparisons
>> gives surprising results (0.1 + 0.2 !== 0.3).
>> Incorrect roundtrips with SQL Databases: decimals have up to 38 digits
>> precision in Oracle and SQL Server, 65 (!!) in MySQL.
>> 
>> JSON serialization is addressed by serializing to string. Like dates (no
>> date literals in JS/JSON).
>> 
>> Same for SQL. In the absence of a BigDecimal type on JS side, values are
>> passed as strings.
>> 
>> Bruno
>> 
>> 
>> 
>> 
>> 
>> _______________________________________________
>> es-discuss mailing list
>> es-discuss@mozilla.org
>> https://mail.mozilla.org/listinfo/es-discuss
>> 
> _______________________________________________
> es-discuss mailing list
> es-discuss@mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss

_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to