UNPKG

bigarith.js

Version:

Do very large math to precision!

68 lines (51 loc) 2.66 kB
console.log("%cTesting for toFixed", "color: blue; font-size: 20pt;"); var x = new BigArith("0.5"); var y = new BigArith("zero point three"); var z = new BigArith(7.65); var r = new BigArith("-1.35"); assertEqual(r.toFixed(0), (-1.35).toFixed(0)); var r = new BigArith("-1.35"); assertEqual(r.toFixed(1), (-1.35).toFixed(1)); var r = new BigArith("-1.45"); assertEqual(r.toFixed(0), (-1.45).toFixed(0)); var r = new BigArith("-1.55"); assertEqual(r.toFixed(0), (-1.55).toFixed(0)); var r = new BigArith("-1.65"); assertEqual(r.toFixed(0), (-1.65).toFixed(0)); var r = new BigArith("-1.35"); assertEqual(r.toFixed(1), (-1.35).toFixed(1)); var r = new BigArith("-1.55"); assertEqual(r.toFixed(1), (-1.55).toFixed(1)); var r = new BigArith("-1.45"); assertEqual(r.toFixed(1), "-1.5"); var r = new BigArith("-1.46"); assertEqual(r.toFixed(1), (-1.46).toFixed(1)); var r = new BigArith("-1.55"); assertEqual(r.toFixed(1), (-1.55).toFixed(1)); var r = new BigArith("-1.65"); assertEqual(r.toFixed(1), "-1.7"); var r = new BigArith("9"); assertEqual(r.toFixed("5.6"), "9.00000"); var a = new BigArith(".05"); var b = new BigArith("eighty three point seven three"); var c = new BigArith("56857675753763473473463574574575693849335.567787856456453"); //Fix to decimal places assertEqual(x.toFixed(3), "0.500"); assertEqual(y.toFixed("7"), "0.3000000"); assertEqual(z.toFixed("0"), "8"); assertEqual(z.toFixed("1"), "7.7"); assertEqual(z.toFixed("54"), "7.650000000000000000000000000000000000000000000000000000"); assertEqual(a.toFixed(new BigArith("200")), "0.05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"); assertEqual(b.toFixed(new BigArith(1e2)), "83.7300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"); assertEqual(c.toFixed(new BigArith(0)), "56857675753763473473463574574575693849336"); assertEqual(new BigArith(30.17).toFixed(0), "30"); assertEqual(new BigArith(30).toFixed(2), "30.00"); assertEqual(new BigArith(30).toFixed(0), "30"); assertEqual(new BigArith(30.00798).toFixed(4), "30.0080"); assertEqual(new BigArith("0.999").toFixed(2), "1.00"); assertEqual(new BigArith("0.00999").toFixed(4), "0.0100"); assertEqual(new BigArith("29.6666666666").toFixed(4), "29.6667"); assertEqual(BigArith.toFixed("29.66",4), "29.6600"); //Negative assertEqual(new BigArith("-29.6666666666").toFixed(4), "-29.6667"); assertEqual(new BigArith("-2345").toFixed(4), "-2345.0000");