js-big-decimal
Advanced tools
Comparing version 1.3.12 to 1.3.13
@@ -28,12 +28,16 @@ (function webpackUniversalModuleDefinition(root, factory) { | ||
if (number1[0] == '-') { | ||
neg++; | ||
ind = 1; | ||
number1 = number1.substring(1); | ||
neg_len = number1.length; | ||
if (!testZero(number1)) { | ||
neg++; | ||
ind = 1; | ||
neg_len = number1.length; | ||
} | ||
} | ||
if (number2[0] == '-') { | ||
neg++; | ||
ind = 2; | ||
number2 = number2.substring(1); | ||
neg_len = number2.length; | ||
if (!testZero(number2)) { | ||
neg++; | ||
ind = 2; | ||
neg_len = number2.length; | ||
} | ||
} | ||
@@ -44,5 +48,5 @@ number1 = trim(number1); | ||
if (neg == 1) { | ||
if (ind == 1) | ||
if (ind === 1) | ||
number1 = compliment(number1); | ||
else | ||
else if (ind === 2) | ||
number2 = compliment(number2); | ||
@@ -64,2 +68,5 @@ } | ||
function compliment(number) { | ||
if (testZero(number)) { | ||
return number; | ||
} | ||
var s = '', l = number.length, dec = number.split('.')[1], ld = dec ? dec.length : 0; | ||
@@ -125,2 +132,5 @@ for (var i = 0; i < l; i++) { | ||
} | ||
function testZero(number) { | ||
return (/^0[0]*[.]{0,1}[0]*$/.test(number)); | ||
} | ||
@@ -127,0 +137,0 @@ |
@@ -1,1 +0,1 @@ | ||
!function(e,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports.bigDecimal=n():e.bigDecimal=n()}(global,(function(){return function(){"use strict";var e={217:function(e,n){function t(e){for(var n="",t=e.length,r=e.split(".")[1],i=r?r.length:0,u=0;u<t;u++)e[u]>="0"&&e[u]<="9"?n+=9-parseInt(e[u]):n+=e[u];return o(n,i>0?"0."+new Array(i).join("0")+"1":"1")}function r(e){var n=e.split(".");for(n[0]||(n[0]="0");"0"==n[0][0]&&n[0].length>1;)n[0]=n[0].substring(1);return n[0]+(n[1]?"."+n[1]:"")}function i(e,n){var t=e.split("."),r=n.split("."),i=t[0].length,o=r[0].length;return i>o?r[0]=new Array(Math.abs(i-o)+1).join("0")+(r[0]?r[0]:""):t[0]=new Array(Math.abs(i-o)+1).join("0")+(t[0]?t[0]:""),i=t[1]?t[1].length:0,o=r[1]?r[1].length:0,(i||o)&&(i>o?r[1]=(r[1]?r[1]:"")+new Array(Math.abs(i-o)+1).join("0"):t[1]=(t[1]?t[1]:"")+new Array(Math.abs(i-o)+1).join("0")),[e=t[0]+(t[1]?"."+t[1]:""),n=r[0]+(r[1]?"."+r[1]:"")]}function o(e,n){var t;e=(t=i(e,n))[0],n=t[1];for(var r="",o=0,u=e.length-1;u>=0;u--)if("."!==e[u]){var a=parseInt(e[u])+parseInt(n[u])+o;r=a%10+r,o=Math.floor(a/10)}else r="."+r;return o?o.toString()+r:r}Object.defineProperty(n,"__esModule",{value:!0}),n.pad=n.trim=n.add=void 0,n.add=function(e,n){var u;void 0===n&&(n="0");var a=0,s=-1;"-"==e[0]&&(a++,s=1,(e=e.substring(1)).length),"-"==n[0]&&(a++,s=2,(n=n.substring(1)).length),e=r(e),n=r(n),e=(u=i(r(e),r(n)))[0],n=u[1],1==a&&(1==s?e=t(e):n=t(n));var d=o(e,n);return a?2==a?"-"+r(d):e.length<d.length?r(d.substring(1)):"-"+r(t(d)):r(d)},n.trim=r,n.pad=i},423:function(e,n,t){var r=t(217),i=t(350),o=t(182),u=t(415),a=t(213),s=t(664),d=t(26),l=t(916),f=function(){function e(n){void 0===n&&(n="0"),this.value=e.validate(n)}return e.validate=function(e){if(e){if(e=e.toString(),isNaN(e))throw Error("Parameter is not a number: "+e);"+"==e[0]&&(e=e.substring(1))}else e="0";if(e.startsWith(".")?e="0"+e:e.startsWith("-.")&&(e="-0"+e.substr(1)),/e/i.test(e)){var n=e.split(/[eE]/),t=n[0],i=n[1],o="";"-"==(t=(0,r.trim)(t))[0]&&(o="-",t=t.substring(1)),t.indexOf(".")>=0?(i=parseInt(i)+t.indexOf("."),t=t.replace(".","")):i=parseInt(i)+t.length,e=t.length<i?o+t+new Array(i-t.length+1).join("0"):t.length>=i&&i>0?o+(0,r.trim)(t.substring(0,i))+(t.length>i?"."+t.substring(i):""):o+"0."+new Array(1-i).join("0")+t}return e},e.prototype.getValue=function(){return this.value},e.getPrettyValue=function(n,t,r){if(t||r){if(!t||!r)throw Error("Illegal Arguments. Should pass both digits and separator or pass none")}else t=3,r=",";var i="-"==(n=e.validate(n)).charAt(0);i&&(n=n.substring(1));for(var o=n.indexOf("."),u="",a=o=o>0?o:n.length;a>0;)a<t?(t=a,a=0):a-=t,u=n.substring(a,a+t)+(a<o-t&&a>=0?r:"")+u;return(i?"-":"")+u+n.substring(o)},e.prototype.getPrettyValue=function(n,t){return e.getPrettyValue(this.value,n,t)},e.round=function(n,t,r){if(void 0===t&&(t=0),void 0===r&&(r=l.RoundingModes.HALF_EVEN),n=e.validate(n),isNaN(t))throw Error("Precision is not a number: "+t);return(0,i.roundOff)(n,t,r)},e.prototype.round=function(n,t){if(void 0===n&&(n=0),void 0===t&&(t=l.RoundingModes.HALF_EVEN),isNaN(n))throw Error("Precision is not a number: "+n);return new e((0,i.roundOff)(this.value,n,t))},e.floor=function(n){return-1===(n=e.validate(n)).indexOf(".")?n:e.round(n,0,l.RoundingModes.FLOOR)},e.prototype.floor=function(){return-1===this.value.indexOf(".")?new e(this.value):new e(this.value).round(0,l.RoundingModes.FLOOR)},e.ceil=function(n){return-1===(n=e.validate(n)).indexOf(".")?n:e.round(n,0,l.RoundingModes.CEILING)},e.prototype.ceil=function(){return-1===this.value.indexOf(".")?new e(this.value):new e(this.value).round(0,l.RoundingModes.CEILING)},e.add=function(n,t){return n=e.validate(n),t=e.validate(t),(0,r.add)(n,t)},e.prototype.add=function(n){return new e((0,r.add)(this.value,n.getValue()))},e.subtract=function(n,t){return n=e.validate(n),t=e.validate(t),(0,d.subtract)(n,t)},e.prototype.subtract=function(n){return new e((0,d.subtract)(this.value,n.getValue()))},e.multiply=function(n,t){return n=e.validate(n),t=e.validate(t),(0,o.multiply)(n,t)},e.prototype.multiply=function(n){return new e((0,o.multiply)(this.value,n.getValue()))},e.divide=function(n,t,r){return n=e.validate(n),t=e.validate(t),(0,u.divide)(n,t,r)},e.prototype.divide=function(n,t){return new e((0,u.divide)(this.value,n.getValue(),t))},e.modulus=function(n,t){return n=e.validate(n),t=e.validate(t),(0,a.modulus)(n,t)},e.prototype.modulus=function(n){return new e((0,a.modulus)(this.value,n.getValue()))},e.compareTo=function(n,t){return n=e.validate(n),t=e.validate(t),(0,s.compareTo)(n,t)},e.prototype.compareTo=function(e){return(0,s.compareTo)(this.value,e.getValue())},e.negate=function(n){return n=e.validate(n),(0,d.negate)(n)},e.prototype.negate=function(){return new e((0,d.negate)(this.value))},e.RoundingModes=l.RoundingModes,e}();e.exports=f},664:function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0}),n.compareTo=void 0;var r=t(217);n.compareTo=function(e,n){var t,i=!1;if("-"==e[0]&&"-"!=n[0])return-1;if("-"!=e[0]&&"-"==n[0])return 1;if("-"==e[0]&&"-"==n[0]&&(e=e.substr(1),n=n.substr(1),i=!0),e=(t=(0,r.pad)(e,n))[0],n=t[1],0==e.localeCompare(n))return 0;for(var o=0;o<e.length;o++)if(e[o]!=n[o])return e[o]>n[o]?i?-1:1:i?1:-1;return 0}},415:function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0}),n.divide=void 0;var r=t(217),i=t(350);n.divide=function(e,n,t){if(void 0===t&&(t=8),0==n)throw new Error("Cannot divide by 0");if(e=e.toString(),n=n.toString(),e=e.replace(/(\.\d*?[1-9])0+$/g,"$1").replace(/\.0+$/,""),n=n.replace(/(\.\d*?[1-9])0+$/g,"$1").replace(/\.0+$/,""),0==e)return"0";var o=0;"-"==n[0]&&(n=n.substring(1),o++),"-"==e[0]&&(e=e.substring(1),o++);var u=n.indexOf(".")>0?n.length-n.indexOf(".")-1:-1;if(n=(0,r.trim)(n.replace(".","")),u>=0){var a=e.indexOf(".")>0?e.length-e.indexOf(".")-1:-1;if(-1==a)e=(0,r.trim)(e+new Array(u+1).join("0"));else if(u>a)e=e.replace(".",""),e=(0,r.trim)(e+new Array(u-a+1).join("0"));else if(u<a){var s=(e=e.replace(".","")).length-a+u;e=(0,r.trim)(e.substring(0,s)+"."+e.substring(s))}else u==a&&(e=(0,r.trim)(e.replace(".","")))}var d=0,l=n.length,f="",g=e.indexOf(".")>-1&&e.indexOf(".")<l?e.substring(0,l+1):e.substring(0,l);if(e=e.indexOf(".")>-1&&e.indexOf(".")<l?e.substring(l+1):e.substring(l),g.indexOf(".")>-1){var v=g.length-g.indexOf(".")-1;l>(g=g.replace(".","")).length&&(v+=l-g.length,g+=new Array(l-g.length+1).join("0")),d=v,f="0."+new Array(v).join("0")}for(t+=2;d<=t;){for(var c=0;parseInt(g)>=parseInt(n);)g=(0,r.add)(g,"-"+n),c++;f+=c,e?("."==e[0]&&(f+=".",d++,e=e.substring(1)),g+=e.substring(0,1),e=e.substring(1)):(d||(f+="."),d++,g+="0")}return(1==o?"-":"")+(0,r.trim)((0,i.roundOff)(f,t-2))}},213:function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0}),n.modulus=void 0;var r=t(415),i=t(350),o=t(182),u=t(26),a=t(916);function s(e){if(-1!=e.indexOf("."))throw new Error("Modulus of non-integers not supported")}n.modulus=function(e,n){if(0==n)throw new Error("Cannot divide by 0");e=e.toString(),n=n.toString(),s(e),s(n);var t="";return"-"==e[0]&&(t="-",e=e.substr(1)),"-"==n[0]&&(n=n.substr(1)),t+(0,u.subtract)(e,(0,o.multiply)(n,(0,i.roundOff)((0,r.divide)(e,n),0,a.RoundingModes.FLOOR)))}},182:function(e,n){function t(e){for(;"0"==e[0];)e=e.substr(1);if(-1!=e.indexOf("."))for(;"0"==e[e.length-1];)e=e.substr(0,e.length-1);return""==e||"."==e?e="0":"."==e[e.length-1]&&(e=e.substr(0,e.length-1)),"."==e[0]&&(e="0"+e),e}Object.defineProperty(n,"__esModule",{value:!0}),n.multiply=void 0,n.multiply=function(e,n){e=e.toString(),n=n.toString();var r=0;"-"==e[0]&&(r++,e=e.substr(1)),"-"==n[0]&&(r++,n=n.substr(1)),e=t(e),n=t(n);var i=0,o=0;-1!=e.indexOf(".")&&(i=e.length-e.indexOf(".")-1),-1!=n.indexOf(".")&&(o=n.length-n.indexOf(".")-1);var u=i+o;if(e=t(e.replace(".","")),n=t(n.replace(".","")),e.length<n.length){var a=e;e=n,n=a}if("0"==n)return"0";for(var s,d,l=n.length,f=0,g=[],v=l-1,c="",p=0;p<l;p++)g[p]=e.length-1;for(p=0;p<2*e.length;p++){for(var h=0,b=n.length-1;b>=v&&b>=0;b--)g[b]>-1&&g[b]<e.length&&(h+=parseInt(e[g[b]--])*parseInt(n[b]));h+=f,f=Math.floor(h/10),c=h%10+c,v--}return c=t((s=c,0==(d=u)?s:(s=d>=s.length?new Array(d-s.length+1).join("0")+s:s).substr(0,s.length-d)+"."+s.substr(s.length-d,d))),1==r&&(c="-"+c),c}},350:function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0}),n.roundOff=void 0;var r=t(916);function i(e,n,t,i){if(!e||e===new Array(e.length+1).join("0"))return!1;if(i===r.RoundingModes.DOWN||!t&&i===r.RoundingModes.FLOOR||t&&i===r.RoundingModes.CEILING)return!1;if(i===r.RoundingModes.UP||t&&i===r.RoundingModes.FLOOR||!t&&i===r.RoundingModes.CEILING)return!0;var o="5"+new Array(e.length).join("0");if(e>o)return!0;if(e<o)return!1;switch(i){case r.RoundingModes.HALF_DOWN:return!1;case r.RoundingModes.HALF_UP:return!0;case r.RoundingModes.HALF_EVEN:default:return parseInt(n[n.length-1])%2==1}}function o(e,n){void 0===n&&(n=0),n||(n=1),"number"==typeof e&&e.toString();for(var t="",r=e.length-1;r>=0;r--){var i=parseInt(e[r])+n;10==i?(n=1,i=0):n=0,t+=i}return n&&(t+=n),t.split("").reverse().join("")}n.roundOff=function e(n,t,u){if(void 0===t&&(t=0),void 0===u&&(u=r.RoundingModes.HALF_EVEN),u===r.RoundingModes.UNNECESSARY)throw new Error("UNNECESSARY Rounding Mode has not yet been implemented");"number"!=typeof n&&"bigint"!=typeof n||(n=n.toString());var a=!1;"-"===n[0]&&(a=!0,n=n.substring(1));var s=n.split("."),d=s[0],l=s[1];if(t<0){if(t=-t,d.length<=t)return"0";var f=d.substr(0,d.length-t);return(a?"-":"")+(f=e(n=f+"."+d.substr(d.length-t)+l,0,u))+new Array(t+1).join("0")}if(0==t){d.length;return i(s[1],d,a,u)&&(d=o(d)),(a&&parseInt(d)?"-":"")+d}if(!s[1])return(a?"-":"")+d+"."+new Array(t+1).join("0");if(s[1].length<t)return(a?"-":"")+d+"."+s[1]+new Array(t-s[1].length+1).join("0");l=s[1].substring(0,t);var g=s[1].substring(t);return g&&i(g,l,a,u)&&(l=o(l)).length>t?(a?"-":"")+o(d,parseInt(l[0]))+"."+l.substring(1):(a&&(parseInt(d)||parseInt(l))?"-":"")+d+"."+l}},916:function(e,n){Object.defineProperty(n,"__esModule",{value:!0}),n.RoundingModes=void 0,function(e){e[e.CEILING=0]="CEILING",e[e.DOWN=1]="DOWN",e[e.FLOOR=2]="FLOOR",e[e.HALF_DOWN=3]="HALF_DOWN",e[e.HALF_EVEN=4]="HALF_EVEN",e[e.HALF_UP=5]="HALF_UP",e[e.UNNECESSARY=6]="UNNECESSARY",e[e.UP=7]="UP"}(n.RoundingModes||(n.RoundingModes={}))},26:function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0}),n.negate=n.subtract=void 0;var r=t(217);function i(e){return e="-"==e[0]?e.substr(1):"-"+e}n.subtract=function(e,n){return e=e.toString(),n=i(n=n.toString()),(0,r.add)(e,n)},n.negate=i}},n={};var t=function t(r){var i=n[r];if(void 0!==i)return i.exports;var o=n[r]={exports:{}};return e[r](o,o.exports,t),o.exports}(423);return t}()})); | ||
!function(e,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports.bigDecimal=n():e.bigDecimal=n()}(global,(function(){return function(){"use strict";var e={217:function(e,n){function t(e){if(u(e))return e;for(var n="",t=e.length,r=e.split(".")[1],i=r?r.length:0,a=0;a<t;a++)e[a]>="0"&&e[a]<="9"?n+=9-parseInt(e[a]):n+=e[a];return o(n,i>0?"0."+new Array(i).join("0")+"1":"1")}function r(e){var n=e.split(".");for(n[0]||(n[0]="0");"0"==n[0][0]&&n[0].length>1;)n[0]=n[0].substring(1);return n[0]+(n[1]?"."+n[1]:"")}function i(e,n){var t=e.split("."),r=n.split("."),i=t[0].length,o=r[0].length;return i>o?r[0]=new Array(Math.abs(i-o)+1).join("0")+(r[0]?r[0]:""):t[0]=new Array(Math.abs(i-o)+1).join("0")+(t[0]?t[0]:""),i=t[1]?t[1].length:0,o=r[1]?r[1].length:0,(i||o)&&(i>o?r[1]=(r[1]?r[1]:"")+new Array(Math.abs(i-o)+1).join("0"):t[1]=(t[1]?t[1]:"")+new Array(Math.abs(i-o)+1).join("0")),[e=t[0]+(t[1]?"."+t[1]:""),n=r[0]+(r[1]?"."+r[1]:"")]}function o(e,n){var t;e=(t=i(e,n))[0],n=t[1];for(var r="",o=0,u=e.length-1;u>=0;u--)if("."!==e[u]){var a=parseInt(e[u])+parseInt(n[u])+o;r=a%10+r,o=Math.floor(a/10)}else r="."+r;return o?o.toString()+r:r}function u(e){return/^0[0]*[.]{0,1}[0]*$/.test(e)}Object.defineProperty(n,"__esModule",{value:!0}),n.pad=n.trim=n.add=void 0,n.add=function(e,n){var a;void 0===n&&(n="0");var s=0,d=-1;"-"==e[0]&&(u(e=e.substring(1))||(s++,d=1,e.length)),"-"==n[0]&&(u(n=n.substring(1))||(s++,d=2,n.length)),e=r(e),n=r(n),e=(a=i(r(e),r(n)))[0],n=a[1],1==s&&(1===d?e=t(e):2===d&&(n=t(n)));var l=o(e,n);return s?2==s?"-"+r(l):e.length<l.length?r(l.substring(1)):"-"+r(t(l)):r(l)},n.trim=r,n.pad=i},423:function(e,n,t){var r=t(217),i=t(350),o=t(182),u=t(415),a=t(213),s=t(664),d=t(26),l=t(916),f=function(){function e(n){void 0===n&&(n="0"),this.value=e.validate(n)}return e.validate=function(e){if(e){if(e=e.toString(),isNaN(e))throw Error("Parameter is not a number: "+e);"+"==e[0]&&(e=e.substring(1))}else e="0";if(e.startsWith(".")?e="0"+e:e.startsWith("-.")&&(e="-0"+e.substr(1)),/e/i.test(e)){var n=e.split(/[eE]/),t=n[0],i=n[1],o="";"-"==(t=(0,r.trim)(t))[0]&&(o="-",t=t.substring(1)),t.indexOf(".")>=0?(i=parseInt(i)+t.indexOf("."),t=t.replace(".","")):i=parseInt(i)+t.length,e=t.length<i?o+t+new Array(i-t.length+1).join("0"):t.length>=i&&i>0?o+(0,r.trim)(t.substring(0,i))+(t.length>i?"."+t.substring(i):""):o+"0."+new Array(1-i).join("0")+t}return e},e.prototype.getValue=function(){return this.value},e.getPrettyValue=function(n,t,r){if(t||r){if(!t||!r)throw Error("Illegal Arguments. Should pass both digits and separator or pass none")}else t=3,r=",";var i="-"==(n=e.validate(n)).charAt(0);i&&(n=n.substring(1));for(var o=n.indexOf("."),u="",a=o=o>0?o:n.length;a>0;)a<t?(t=a,a=0):a-=t,u=n.substring(a,a+t)+(a<o-t&&a>=0?r:"")+u;return(i?"-":"")+u+n.substring(o)},e.prototype.getPrettyValue=function(n,t){return e.getPrettyValue(this.value,n,t)},e.round=function(n,t,r){if(void 0===t&&(t=0),void 0===r&&(r=l.RoundingModes.HALF_EVEN),n=e.validate(n),isNaN(t))throw Error("Precision is not a number: "+t);return(0,i.roundOff)(n,t,r)},e.prototype.round=function(n,t){if(void 0===n&&(n=0),void 0===t&&(t=l.RoundingModes.HALF_EVEN),isNaN(n))throw Error("Precision is not a number: "+n);return new e((0,i.roundOff)(this.value,n,t))},e.floor=function(n){return-1===(n=e.validate(n)).indexOf(".")?n:e.round(n,0,l.RoundingModes.FLOOR)},e.prototype.floor=function(){return-1===this.value.indexOf(".")?new e(this.value):new e(this.value).round(0,l.RoundingModes.FLOOR)},e.ceil=function(n){return-1===(n=e.validate(n)).indexOf(".")?n:e.round(n,0,l.RoundingModes.CEILING)},e.prototype.ceil=function(){return-1===this.value.indexOf(".")?new e(this.value):new e(this.value).round(0,l.RoundingModes.CEILING)},e.add=function(n,t){return n=e.validate(n),t=e.validate(t),(0,r.add)(n,t)},e.prototype.add=function(n){return new e((0,r.add)(this.value,n.getValue()))},e.subtract=function(n,t){return n=e.validate(n),t=e.validate(t),(0,d.subtract)(n,t)},e.prototype.subtract=function(n){return new e((0,d.subtract)(this.value,n.getValue()))},e.multiply=function(n,t){return n=e.validate(n),t=e.validate(t),(0,o.multiply)(n,t)},e.prototype.multiply=function(n){return new e((0,o.multiply)(this.value,n.getValue()))},e.divide=function(n,t,r){return n=e.validate(n),t=e.validate(t),(0,u.divide)(n,t,r)},e.prototype.divide=function(n,t){return new e((0,u.divide)(this.value,n.getValue(),t))},e.modulus=function(n,t){return n=e.validate(n),t=e.validate(t),(0,a.modulus)(n,t)},e.prototype.modulus=function(n){return new e((0,a.modulus)(this.value,n.getValue()))},e.compareTo=function(n,t){return n=e.validate(n),t=e.validate(t),(0,s.compareTo)(n,t)},e.prototype.compareTo=function(e){return(0,s.compareTo)(this.value,e.getValue())},e.negate=function(n){return n=e.validate(n),(0,d.negate)(n)},e.prototype.negate=function(){return new e((0,d.negate)(this.value))},e.RoundingModes=l.RoundingModes,e}();e.exports=f},664:function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0}),n.compareTo=void 0;var r=t(217);n.compareTo=function(e,n){var t,i=!1;if("-"==e[0]&&"-"!=n[0])return-1;if("-"!=e[0]&&"-"==n[0])return 1;if("-"==e[0]&&"-"==n[0]&&(e=e.substr(1),n=n.substr(1),i=!0),e=(t=(0,r.pad)(e,n))[0],n=t[1],0==e.localeCompare(n))return 0;for(var o=0;o<e.length;o++)if(e[o]!=n[o])return e[o]>n[o]?i?-1:1:i?1:-1;return 0}},415:function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0}),n.divide=void 0;var r=t(217),i=t(350);n.divide=function(e,n,t){if(void 0===t&&(t=8),0==n)throw new Error("Cannot divide by 0");if(e=e.toString(),n=n.toString(),e=e.replace(/(\.\d*?[1-9])0+$/g,"$1").replace(/\.0+$/,""),n=n.replace(/(\.\d*?[1-9])0+$/g,"$1").replace(/\.0+$/,""),0==e)return"0";var o=0;"-"==n[0]&&(n=n.substring(1),o++),"-"==e[0]&&(e=e.substring(1),o++);var u=n.indexOf(".")>0?n.length-n.indexOf(".")-1:-1;if(n=(0,r.trim)(n.replace(".","")),u>=0){var a=e.indexOf(".")>0?e.length-e.indexOf(".")-1:-1;if(-1==a)e=(0,r.trim)(e+new Array(u+1).join("0"));else if(u>a)e=e.replace(".",""),e=(0,r.trim)(e+new Array(u-a+1).join("0"));else if(u<a){var s=(e=e.replace(".","")).length-a+u;e=(0,r.trim)(e.substring(0,s)+"."+e.substring(s))}else u==a&&(e=(0,r.trim)(e.replace(".","")))}var d=0,l=n.length,f="",g=e.indexOf(".")>-1&&e.indexOf(".")<l?e.substring(0,l+1):e.substring(0,l);if(e=e.indexOf(".")>-1&&e.indexOf(".")<l?e.substring(l+1):e.substring(l),g.indexOf(".")>-1){var v=g.length-g.indexOf(".")-1;l>(g=g.replace(".","")).length&&(v+=l-g.length,g+=new Array(l-g.length+1).join("0")),d=v,f="0."+new Array(v).join("0")}for(t+=2;d<=t;){for(var c=0;parseInt(g)>=parseInt(n);)g=(0,r.add)(g,"-"+n),c++;f+=c,e?("."==e[0]&&(f+=".",d++,e=e.substring(1)),g+=e.substring(0,1),e=e.substring(1)):(d||(f+="."),d++,g+="0")}return(1==o?"-":"")+(0,r.trim)((0,i.roundOff)(f,t-2))}},213:function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0}),n.modulus=void 0;var r=t(415),i=t(350),o=t(182),u=t(26),a=t(916);function s(e){if(-1!=e.indexOf("."))throw new Error("Modulus of non-integers not supported")}n.modulus=function(e,n){if(0==n)throw new Error("Cannot divide by 0");e=e.toString(),n=n.toString(),s(e),s(n);var t="";return"-"==e[0]&&(t="-",e=e.substr(1)),"-"==n[0]&&(n=n.substr(1)),t+(0,u.subtract)(e,(0,o.multiply)(n,(0,i.roundOff)((0,r.divide)(e,n),0,a.RoundingModes.FLOOR)))}},182:function(e,n){function t(e){for(;"0"==e[0];)e=e.substr(1);if(-1!=e.indexOf("."))for(;"0"==e[e.length-1];)e=e.substr(0,e.length-1);return""==e||"."==e?e="0":"."==e[e.length-1]&&(e=e.substr(0,e.length-1)),"."==e[0]&&(e="0"+e),e}Object.defineProperty(n,"__esModule",{value:!0}),n.multiply=void 0,n.multiply=function(e,n){e=e.toString(),n=n.toString();var r=0;"-"==e[0]&&(r++,e=e.substr(1)),"-"==n[0]&&(r++,n=n.substr(1)),e=t(e),n=t(n);var i=0,o=0;-1!=e.indexOf(".")&&(i=e.length-e.indexOf(".")-1),-1!=n.indexOf(".")&&(o=n.length-n.indexOf(".")-1);var u=i+o;if(e=t(e.replace(".","")),n=t(n.replace(".","")),e.length<n.length){var a=e;e=n,n=a}if("0"==n)return"0";for(var s,d,l=n.length,f=0,g=[],v=l-1,c="",p=0;p<l;p++)g[p]=e.length-1;for(p=0;p<2*e.length;p++){for(var h=0,b=n.length-1;b>=v&&b>=0;b--)g[b]>-1&&g[b]<e.length&&(h+=parseInt(e[g[b]--])*parseInt(n[b]));h+=f,f=Math.floor(h/10),c=h%10+c,v--}return c=t((s=c,0==(d=u)?s:(s=d>=s.length?new Array(d-s.length+1).join("0")+s:s).substr(0,s.length-d)+"."+s.substr(s.length-d,d))),1==r&&(c="-"+c),c}},350:function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0}),n.roundOff=void 0;var r=t(916);function i(e,n,t,i){if(!e||e===new Array(e.length+1).join("0"))return!1;if(i===r.RoundingModes.DOWN||!t&&i===r.RoundingModes.FLOOR||t&&i===r.RoundingModes.CEILING)return!1;if(i===r.RoundingModes.UP||t&&i===r.RoundingModes.FLOOR||!t&&i===r.RoundingModes.CEILING)return!0;var o="5"+new Array(e.length).join("0");if(e>o)return!0;if(e<o)return!1;switch(i){case r.RoundingModes.HALF_DOWN:return!1;case r.RoundingModes.HALF_UP:return!0;case r.RoundingModes.HALF_EVEN:default:return parseInt(n[n.length-1])%2==1}}function o(e,n){void 0===n&&(n=0),n||(n=1),"number"==typeof e&&e.toString();for(var t="",r=e.length-1;r>=0;r--){var i=parseInt(e[r])+n;10==i?(n=1,i=0):n=0,t+=i}return n&&(t+=n),t.split("").reverse().join("")}n.roundOff=function e(n,t,u){if(void 0===t&&(t=0),void 0===u&&(u=r.RoundingModes.HALF_EVEN),u===r.RoundingModes.UNNECESSARY)throw new Error("UNNECESSARY Rounding Mode has not yet been implemented");"number"!=typeof n&&"bigint"!=typeof n||(n=n.toString());var a=!1;"-"===n[0]&&(a=!0,n=n.substring(1));var s=n.split("."),d=s[0],l=s[1];if(t<0){if(t=-t,d.length<=t)return"0";var f=d.substr(0,d.length-t);return(a?"-":"")+(f=e(n=f+"."+d.substr(d.length-t)+l,0,u))+new Array(t+1).join("0")}if(0==t){d.length;return i(s[1],d,a,u)&&(d=o(d)),(a&&parseInt(d)?"-":"")+d}if(!s[1])return(a?"-":"")+d+"."+new Array(t+1).join("0");if(s[1].length<t)return(a?"-":"")+d+"."+s[1]+new Array(t-s[1].length+1).join("0");l=s[1].substring(0,t);var g=s[1].substring(t);return g&&i(g,l,a,u)&&(l=o(l)).length>t?(a?"-":"")+o(d,parseInt(l[0]))+"."+l.substring(1):(a&&(parseInt(d)||parseInt(l))?"-":"")+d+"."+l}},916:function(e,n){Object.defineProperty(n,"__esModule",{value:!0}),n.RoundingModes=void 0,function(e){e[e.CEILING=0]="CEILING",e[e.DOWN=1]="DOWN",e[e.FLOOR=2]="FLOOR",e[e.HALF_DOWN=3]="HALF_DOWN",e[e.HALF_EVEN=4]="HALF_EVEN",e[e.HALF_UP=5]="HALF_UP",e[e.UNNECESSARY=6]="UNNECESSARY",e[e.UP=7]="UP"}(n.RoundingModes||(n.RoundingModes={}))},26:function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0}),n.negate=n.subtract=void 0;var r=t(217);function i(e){return e="-"==e[0]?e.substr(1):"-"+e}n.subtract=function(e,n){return e=e.toString(),n=i(n=n.toString()),(0,r.add)(e,n)},n.negate=i}},n={};var t=function t(r){var i=n[r];if(void 0!==i)return i.exports;var o=n[r]={exports:{}};return e[r](o,o.exports,t),o.exports}(423);return t}()})); |
@@ -19,12 +19,16 @@ var bigDecimal; | ||
if (number1[0] == '-') { | ||
neg++; | ||
ind = 1; | ||
number1 = number1.substring(1); | ||
neg_len = number1.length; | ||
if (!testZero(number1)) { | ||
neg++; | ||
ind = 1; | ||
neg_len = number1.length; | ||
} | ||
} | ||
if (number2[0] == '-') { | ||
neg++; | ||
ind = 2; | ||
number2 = number2.substring(1); | ||
neg_len = number2.length; | ||
if (!testZero(number2)) { | ||
neg++; | ||
ind = 2; | ||
neg_len = number2.length; | ||
} | ||
} | ||
@@ -35,5 +39,5 @@ number1 = trim(number1); | ||
if (neg == 1) { | ||
if (ind == 1) | ||
if (ind === 1) | ||
number1 = compliment(number1); | ||
else | ||
else if (ind === 2) | ||
number2 = compliment(number2); | ||
@@ -55,2 +59,5 @@ } | ||
function compliment(number) { | ||
if (testZero(number)) { | ||
return number; | ||
} | ||
var s = '', l = number.length, dec = number.split('.')[1], ld = dec ? dec.length : 0; | ||
@@ -116,2 +123,5 @@ for (var i = 0; i < l; i++) { | ||
} | ||
function testZero(number) { | ||
return (/^0[0]*[.]{0,1}[0]*$/.test(number)); | ||
} | ||
@@ -118,0 +128,0 @@ |
@@ -1,1 +0,1 @@ | ||
var bigDecimal;!function(){"use strict";var n={217:function(n,e){function t(n){for(var e="",t=n.length,r=n.split(".")[1],i=r?r.length:0,u=0;u<t;u++)n[u]>="0"&&n[u]<="9"?e+=9-parseInt(n[u]):e+=n[u];return o(e,i>0?"0."+new Array(i).join("0")+"1":"1")}function r(n){var e=n.split(".");for(e[0]||(e[0]="0");"0"==e[0][0]&&e[0].length>1;)e[0]=e[0].substring(1);return e[0]+(e[1]?"."+e[1]:"")}function i(n,e){var t=n.split("."),r=e.split("."),i=t[0].length,o=r[0].length;return i>o?r[0]=new Array(Math.abs(i-o)+1).join("0")+(r[0]?r[0]:""):t[0]=new Array(Math.abs(i-o)+1).join("0")+(t[0]?t[0]:""),i=t[1]?t[1].length:0,o=r[1]?r[1].length:0,(i||o)&&(i>o?r[1]=(r[1]?r[1]:"")+new Array(Math.abs(i-o)+1).join("0"):t[1]=(t[1]?t[1]:"")+new Array(Math.abs(i-o)+1).join("0")),[n=t[0]+(t[1]?"."+t[1]:""),e=r[0]+(r[1]?"."+r[1]:"")]}function o(n,e){var t;n=(t=i(n,e))[0],e=t[1];for(var r="",o=0,u=n.length-1;u>=0;u--)if("."!==n[u]){var a=parseInt(n[u])+parseInt(e[u])+o;r=a%10+r,o=Math.floor(a/10)}else r="."+r;return o?o.toString()+r:r}Object.defineProperty(e,"__esModule",{value:!0}),e.pad=e.trim=e.add=void 0,e.add=function(n,e){var u;void 0===e&&(e="0");var a=0,s=-1;"-"==n[0]&&(a++,s=1,(n=n.substring(1)).length),"-"==e[0]&&(a++,s=2,(e=e.substring(1)).length),n=r(n),e=r(e),n=(u=i(r(n),r(e)))[0],e=u[1],1==a&&(1==s?n=t(n):e=t(e));var d=o(n,e);return a?2==a?"-"+r(d):n.length<d.length?r(d.substring(1)):"-"+r(t(d)):r(d)},e.trim=r,e.pad=i},423:function(n,e,t){var r=t(217),i=t(350),o=t(182),u=t(415),a=t(213),s=t(664),d=t(26),l=t(916),f=function(){function n(e){void 0===e&&(e="0"),this.value=n.validate(e)}return n.validate=function(n){if(n){if(n=n.toString(),isNaN(n))throw Error("Parameter is not a number: "+n);"+"==n[0]&&(n=n.substring(1))}else n="0";if(n.startsWith(".")?n="0"+n:n.startsWith("-.")&&(n="-0"+n.substr(1)),/e/i.test(n)){var e=n.split(/[eE]/),t=e[0],i=e[1],o="";"-"==(t=(0,r.trim)(t))[0]&&(o="-",t=t.substring(1)),t.indexOf(".")>=0?(i=parseInt(i)+t.indexOf("."),t=t.replace(".","")):i=parseInt(i)+t.length,n=t.length<i?o+t+new Array(i-t.length+1).join("0"):t.length>=i&&i>0?o+(0,r.trim)(t.substring(0,i))+(t.length>i?"."+t.substring(i):""):o+"0."+new Array(1-i).join("0")+t}return n},n.prototype.getValue=function(){return this.value},n.getPrettyValue=function(e,t,r){if(t||r){if(!t||!r)throw Error("Illegal Arguments. Should pass both digits and separator or pass none")}else t=3,r=",";var i="-"==(e=n.validate(e)).charAt(0);i&&(e=e.substring(1));for(var o=e.indexOf("."),u="",a=o=o>0?o:e.length;a>0;)a<t?(t=a,a=0):a-=t,u=e.substring(a,a+t)+(a<o-t&&a>=0?r:"")+u;return(i?"-":"")+u+e.substring(o)},n.prototype.getPrettyValue=function(e,t){return n.getPrettyValue(this.value,e,t)},n.round=function(e,t,r){if(void 0===t&&(t=0),void 0===r&&(r=l.RoundingModes.HALF_EVEN),e=n.validate(e),isNaN(t))throw Error("Precision is not a number: "+t);return(0,i.roundOff)(e,t,r)},n.prototype.round=function(e,t){if(void 0===e&&(e=0),void 0===t&&(t=l.RoundingModes.HALF_EVEN),isNaN(e))throw Error("Precision is not a number: "+e);return new n((0,i.roundOff)(this.value,e,t))},n.floor=function(e){return-1===(e=n.validate(e)).indexOf(".")?e:n.round(e,0,l.RoundingModes.FLOOR)},n.prototype.floor=function(){return-1===this.value.indexOf(".")?new n(this.value):new n(this.value).round(0,l.RoundingModes.FLOOR)},n.ceil=function(e){return-1===(e=n.validate(e)).indexOf(".")?e:n.round(e,0,l.RoundingModes.CEILING)},n.prototype.ceil=function(){return-1===this.value.indexOf(".")?new n(this.value):new n(this.value).round(0,l.RoundingModes.CEILING)},n.add=function(e,t){return e=n.validate(e),t=n.validate(t),(0,r.add)(e,t)},n.prototype.add=function(e){return new n((0,r.add)(this.value,e.getValue()))},n.subtract=function(e,t){return e=n.validate(e),t=n.validate(t),(0,d.subtract)(e,t)},n.prototype.subtract=function(e){return new n((0,d.subtract)(this.value,e.getValue()))},n.multiply=function(e,t){return e=n.validate(e),t=n.validate(t),(0,o.multiply)(e,t)},n.prototype.multiply=function(e){return new n((0,o.multiply)(this.value,e.getValue()))},n.divide=function(e,t,r){return e=n.validate(e),t=n.validate(t),(0,u.divide)(e,t,r)},n.prototype.divide=function(e,t){return new n((0,u.divide)(this.value,e.getValue(),t))},n.modulus=function(e,t){return e=n.validate(e),t=n.validate(t),(0,a.modulus)(e,t)},n.prototype.modulus=function(e){return new n((0,a.modulus)(this.value,e.getValue()))},n.compareTo=function(e,t){return e=n.validate(e),t=n.validate(t),(0,s.compareTo)(e,t)},n.prototype.compareTo=function(n){return(0,s.compareTo)(this.value,n.getValue())},n.negate=function(e){return e=n.validate(e),(0,d.negate)(e)},n.prototype.negate=function(){return new n((0,d.negate)(this.value))},n.RoundingModes=l.RoundingModes,n}();n.exports=f},664:function(n,e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.compareTo=void 0;var r=t(217);e.compareTo=function(n,e){var t,i=!1;if("-"==n[0]&&"-"!=e[0])return-1;if("-"!=n[0]&&"-"==e[0])return 1;if("-"==n[0]&&"-"==e[0]&&(n=n.substr(1),e=e.substr(1),i=!0),n=(t=(0,r.pad)(n,e))[0],e=t[1],0==n.localeCompare(e))return 0;for(var o=0;o<n.length;o++)if(n[o]!=e[o])return n[o]>e[o]?i?-1:1:i?1:-1;return 0}},415:function(n,e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.divide=void 0;var r=t(217),i=t(350);e.divide=function(n,e,t){if(void 0===t&&(t=8),0==e)throw new Error("Cannot divide by 0");if(n=n.toString(),e=e.toString(),n=n.replace(/(\.\d*?[1-9])0+$/g,"$1").replace(/\.0+$/,""),e=e.replace(/(\.\d*?[1-9])0+$/g,"$1").replace(/\.0+$/,""),0==n)return"0";var o=0;"-"==e[0]&&(e=e.substring(1),o++),"-"==n[0]&&(n=n.substring(1),o++);var u=e.indexOf(".")>0?e.length-e.indexOf(".")-1:-1;if(e=(0,r.trim)(e.replace(".","")),u>=0){var a=n.indexOf(".")>0?n.length-n.indexOf(".")-1:-1;if(-1==a)n=(0,r.trim)(n+new Array(u+1).join("0"));else if(u>a)n=n.replace(".",""),n=(0,r.trim)(n+new Array(u-a+1).join("0"));else if(u<a){var s=(n=n.replace(".","")).length-a+u;n=(0,r.trim)(n.substring(0,s)+"."+n.substring(s))}else u==a&&(n=(0,r.trim)(n.replace(".","")))}var d=0,l=e.length,f="",g=n.indexOf(".")>-1&&n.indexOf(".")<l?n.substring(0,l+1):n.substring(0,l);if(n=n.indexOf(".")>-1&&n.indexOf(".")<l?n.substring(l+1):n.substring(l),g.indexOf(".")>-1){var v=g.length-g.indexOf(".")-1;l>(g=g.replace(".","")).length&&(v+=l-g.length,g+=new Array(l-g.length+1).join("0")),d=v,f="0."+new Array(v).join("0")}for(t+=2;d<=t;){for(var c=0;parseInt(g)>=parseInt(e);)g=(0,r.add)(g,"-"+e),c++;f+=c,n?("."==n[0]&&(f+=".",d++,n=n.substring(1)),g+=n.substring(0,1),n=n.substring(1)):(d||(f+="."),d++,g+="0")}return(1==o?"-":"")+(0,r.trim)((0,i.roundOff)(f,t-2))}},213:function(n,e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.modulus=void 0;var r=t(415),i=t(350),o=t(182),u=t(26),a=t(916);function s(n){if(-1!=n.indexOf("."))throw new Error("Modulus of non-integers not supported")}e.modulus=function(n,e){if(0==e)throw new Error("Cannot divide by 0");n=n.toString(),e=e.toString(),s(n),s(e);var t="";return"-"==n[0]&&(t="-",n=n.substr(1)),"-"==e[0]&&(e=e.substr(1)),t+(0,u.subtract)(n,(0,o.multiply)(e,(0,i.roundOff)((0,r.divide)(n,e),0,a.RoundingModes.FLOOR)))}},182:function(n,e){function t(n){for(;"0"==n[0];)n=n.substr(1);if(-1!=n.indexOf("."))for(;"0"==n[n.length-1];)n=n.substr(0,n.length-1);return""==n||"."==n?n="0":"."==n[n.length-1]&&(n=n.substr(0,n.length-1)),"."==n[0]&&(n="0"+n),n}Object.defineProperty(e,"__esModule",{value:!0}),e.multiply=void 0,e.multiply=function(n,e){n=n.toString(),e=e.toString();var r=0;"-"==n[0]&&(r++,n=n.substr(1)),"-"==e[0]&&(r++,e=e.substr(1)),n=t(n),e=t(e);var i=0,o=0;-1!=n.indexOf(".")&&(i=n.length-n.indexOf(".")-1),-1!=e.indexOf(".")&&(o=e.length-e.indexOf(".")-1);var u=i+o;if(n=t(n.replace(".","")),e=t(e.replace(".","")),n.length<e.length){var a=n;n=e,e=a}if("0"==e)return"0";for(var s,d,l=e.length,f=0,g=[],v=l-1,c="",p=0;p<l;p++)g[p]=n.length-1;for(p=0;p<2*n.length;p++){for(var h=0,b=e.length-1;b>=v&&b>=0;b--)g[b]>-1&&g[b]<n.length&&(h+=parseInt(n[g[b]--])*parseInt(e[b]));h+=f,f=Math.floor(h/10),c=h%10+c,v--}return c=t((s=c,0==(d=u)?s:(s=d>=s.length?new Array(d-s.length+1).join("0")+s:s).substr(0,s.length-d)+"."+s.substr(s.length-d,d))),1==r&&(c="-"+c),c}},350:function(n,e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.roundOff=void 0;var r=t(916);function i(n,e,t,i){if(!n||n===new Array(n.length+1).join("0"))return!1;if(i===r.RoundingModes.DOWN||!t&&i===r.RoundingModes.FLOOR||t&&i===r.RoundingModes.CEILING)return!1;if(i===r.RoundingModes.UP||t&&i===r.RoundingModes.FLOOR||!t&&i===r.RoundingModes.CEILING)return!0;var o="5"+new Array(n.length).join("0");if(n>o)return!0;if(n<o)return!1;switch(i){case r.RoundingModes.HALF_DOWN:return!1;case r.RoundingModes.HALF_UP:return!0;case r.RoundingModes.HALF_EVEN:default:return parseInt(e[e.length-1])%2==1}}function o(n,e){void 0===e&&(e=0),e||(e=1),"number"==typeof n&&n.toString();for(var t="",r=n.length-1;r>=0;r--){var i=parseInt(n[r])+e;10==i?(e=1,i=0):e=0,t+=i}return e&&(t+=e),t.split("").reverse().join("")}e.roundOff=function n(e,t,u){if(void 0===t&&(t=0),void 0===u&&(u=r.RoundingModes.HALF_EVEN),u===r.RoundingModes.UNNECESSARY)throw new Error("UNNECESSARY Rounding Mode has not yet been implemented");"number"!=typeof e&&"bigint"!=typeof e||(e=e.toString());var a=!1;"-"===e[0]&&(a=!0,e=e.substring(1));var s=e.split("."),d=s[0],l=s[1];if(t<0){if(t=-t,d.length<=t)return"0";var f=d.substr(0,d.length-t);return(a?"-":"")+(f=n(e=f+"."+d.substr(d.length-t)+l,0,u))+new Array(t+1).join("0")}if(0==t){d.length;return i(s[1],d,a,u)&&(d=o(d)),(a&&parseInt(d)?"-":"")+d}if(!s[1])return(a?"-":"")+d+"."+new Array(t+1).join("0");if(s[1].length<t)return(a?"-":"")+d+"."+s[1]+new Array(t-s[1].length+1).join("0");l=s[1].substring(0,t);var g=s[1].substring(t);return g&&i(g,l,a,u)&&(l=o(l)).length>t?(a?"-":"")+o(d,parseInt(l[0]))+"."+l.substring(1):(a&&(parseInt(d)||parseInt(l))?"-":"")+d+"."+l}},916:function(n,e){Object.defineProperty(e,"__esModule",{value:!0}),e.RoundingModes=void 0,function(n){n[n.CEILING=0]="CEILING",n[n.DOWN=1]="DOWN",n[n.FLOOR=2]="FLOOR",n[n.HALF_DOWN=3]="HALF_DOWN",n[n.HALF_EVEN=4]="HALF_EVEN",n[n.HALF_UP=5]="HALF_UP",n[n.UNNECESSARY=6]="UNNECESSARY",n[n.UP=7]="UP"}(e.RoundingModes||(e.RoundingModes={}))},26:function(n,e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.negate=e.subtract=void 0;var r=t(217);function i(n){return n="-"==n[0]?n.substr(1):"-"+n}e.subtract=function(n,e){return n=n.toString(),e=i(e=e.toString()),(0,r.add)(n,e)},e.negate=i}},e={};var t=function t(r){var i=e[r];if(void 0!==i)return i.exports;var o=e[r]={exports:{}};return n[r](o,o.exports,t),o.exports}(423);bigDecimal=t}(); | ||
var bigDecimal;!function(){"use strict";var n={217:function(n,e){function t(n){if(u(n))return n;for(var e="",t=n.length,r=n.split(".")[1],i=r?r.length:0,a=0;a<t;a++)n[a]>="0"&&n[a]<="9"?e+=9-parseInt(n[a]):e+=n[a];return o(e,i>0?"0."+new Array(i).join("0")+"1":"1")}function r(n){var e=n.split(".");for(e[0]||(e[0]="0");"0"==e[0][0]&&e[0].length>1;)e[0]=e[0].substring(1);return e[0]+(e[1]?"."+e[1]:"")}function i(n,e){var t=n.split("."),r=e.split("."),i=t[0].length,o=r[0].length;return i>o?r[0]=new Array(Math.abs(i-o)+1).join("0")+(r[0]?r[0]:""):t[0]=new Array(Math.abs(i-o)+1).join("0")+(t[0]?t[0]:""),i=t[1]?t[1].length:0,o=r[1]?r[1].length:0,(i||o)&&(i>o?r[1]=(r[1]?r[1]:"")+new Array(Math.abs(i-o)+1).join("0"):t[1]=(t[1]?t[1]:"")+new Array(Math.abs(i-o)+1).join("0")),[n=t[0]+(t[1]?"."+t[1]:""),e=r[0]+(r[1]?"."+r[1]:"")]}function o(n,e){var t;n=(t=i(n,e))[0],e=t[1];for(var r="",o=0,u=n.length-1;u>=0;u--)if("."!==n[u]){var a=parseInt(n[u])+parseInt(e[u])+o;r=a%10+r,o=Math.floor(a/10)}else r="."+r;return o?o.toString()+r:r}function u(n){return/^0[0]*[.]{0,1}[0]*$/.test(n)}Object.defineProperty(e,"__esModule",{value:!0}),e.pad=e.trim=e.add=void 0,e.add=function(n,e){var a;void 0===e&&(e="0");var s=0,d=-1;"-"==n[0]&&(u(n=n.substring(1))||(s++,d=1,n.length)),"-"==e[0]&&(u(e=e.substring(1))||(s++,d=2,e.length)),n=r(n),e=r(e),n=(a=i(r(n),r(e)))[0],e=a[1],1==s&&(1===d?n=t(n):2===d&&(e=t(e)));var l=o(n,e);return s?2==s?"-"+r(l):n.length<l.length?r(l.substring(1)):"-"+r(t(l)):r(l)},e.trim=r,e.pad=i},423:function(n,e,t){var r=t(217),i=t(350),o=t(182),u=t(415),a=t(213),s=t(664),d=t(26),l=t(916),f=function(){function n(e){void 0===e&&(e="0"),this.value=n.validate(e)}return n.validate=function(n){if(n){if(n=n.toString(),isNaN(n))throw Error("Parameter is not a number: "+n);"+"==n[0]&&(n=n.substring(1))}else n="0";if(n.startsWith(".")?n="0"+n:n.startsWith("-.")&&(n="-0"+n.substr(1)),/e/i.test(n)){var e=n.split(/[eE]/),t=e[0],i=e[1],o="";"-"==(t=(0,r.trim)(t))[0]&&(o="-",t=t.substring(1)),t.indexOf(".")>=0?(i=parseInt(i)+t.indexOf("."),t=t.replace(".","")):i=parseInt(i)+t.length,n=t.length<i?o+t+new Array(i-t.length+1).join("0"):t.length>=i&&i>0?o+(0,r.trim)(t.substring(0,i))+(t.length>i?"."+t.substring(i):""):o+"0."+new Array(1-i).join("0")+t}return n},n.prototype.getValue=function(){return this.value},n.getPrettyValue=function(e,t,r){if(t||r){if(!t||!r)throw Error("Illegal Arguments. Should pass both digits and separator or pass none")}else t=3,r=",";var i="-"==(e=n.validate(e)).charAt(0);i&&(e=e.substring(1));for(var o=e.indexOf("."),u="",a=o=o>0?o:e.length;a>0;)a<t?(t=a,a=0):a-=t,u=e.substring(a,a+t)+(a<o-t&&a>=0?r:"")+u;return(i?"-":"")+u+e.substring(o)},n.prototype.getPrettyValue=function(e,t){return n.getPrettyValue(this.value,e,t)},n.round=function(e,t,r){if(void 0===t&&(t=0),void 0===r&&(r=l.RoundingModes.HALF_EVEN),e=n.validate(e),isNaN(t))throw Error("Precision is not a number: "+t);return(0,i.roundOff)(e,t,r)},n.prototype.round=function(e,t){if(void 0===e&&(e=0),void 0===t&&(t=l.RoundingModes.HALF_EVEN),isNaN(e))throw Error("Precision is not a number: "+e);return new n((0,i.roundOff)(this.value,e,t))},n.floor=function(e){return-1===(e=n.validate(e)).indexOf(".")?e:n.round(e,0,l.RoundingModes.FLOOR)},n.prototype.floor=function(){return-1===this.value.indexOf(".")?new n(this.value):new n(this.value).round(0,l.RoundingModes.FLOOR)},n.ceil=function(e){return-1===(e=n.validate(e)).indexOf(".")?e:n.round(e,0,l.RoundingModes.CEILING)},n.prototype.ceil=function(){return-1===this.value.indexOf(".")?new n(this.value):new n(this.value).round(0,l.RoundingModes.CEILING)},n.add=function(e,t){return e=n.validate(e),t=n.validate(t),(0,r.add)(e,t)},n.prototype.add=function(e){return new n((0,r.add)(this.value,e.getValue()))},n.subtract=function(e,t){return e=n.validate(e),t=n.validate(t),(0,d.subtract)(e,t)},n.prototype.subtract=function(e){return new n((0,d.subtract)(this.value,e.getValue()))},n.multiply=function(e,t){return e=n.validate(e),t=n.validate(t),(0,o.multiply)(e,t)},n.prototype.multiply=function(e){return new n((0,o.multiply)(this.value,e.getValue()))},n.divide=function(e,t,r){return e=n.validate(e),t=n.validate(t),(0,u.divide)(e,t,r)},n.prototype.divide=function(e,t){return new n((0,u.divide)(this.value,e.getValue(),t))},n.modulus=function(e,t){return e=n.validate(e),t=n.validate(t),(0,a.modulus)(e,t)},n.prototype.modulus=function(e){return new n((0,a.modulus)(this.value,e.getValue()))},n.compareTo=function(e,t){return e=n.validate(e),t=n.validate(t),(0,s.compareTo)(e,t)},n.prototype.compareTo=function(n){return(0,s.compareTo)(this.value,n.getValue())},n.negate=function(e){return e=n.validate(e),(0,d.negate)(e)},n.prototype.negate=function(){return new n((0,d.negate)(this.value))},n.RoundingModes=l.RoundingModes,n}();n.exports=f},664:function(n,e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.compareTo=void 0;var r=t(217);e.compareTo=function(n,e){var t,i=!1;if("-"==n[0]&&"-"!=e[0])return-1;if("-"!=n[0]&&"-"==e[0])return 1;if("-"==n[0]&&"-"==e[0]&&(n=n.substr(1),e=e.substr(1),i=!0),n=(t=(0,r.pad)(n,e))[0],e=t[1],0==n.localeCompare(e))return 0;for(var o=0;o<n.length;o++)if(n[o]!=e[o])return n[o]>e[o]?i?-1:1:i?1:-1;return 0}},415:function(n,e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.divide=void 0;var r=t(217),i=t(350);e.divide=function(n,e,t){if(void 0===t&&(t=8),0==e)throw new Error("Cannot divide by 0");if(n=n.toString(),e=e.toString(),n=n.replace(/(\.\d*?[1-9])0+$/g,"$1").replace(/\.0+$/,""),e=e.replace(/(\.\d*?[1-9])0+$/g,"$1").replace(/\.0+$/,""),0==n)return"0";var o=0;"-"==e[0]&&(e=e.substring(1),o++),"-"==n[0]&&(n=n.substring(1),o++);var u=e.indexOf(".")>0?e.length-e.indexOf(".")-1:-1;if(e=(0,r.trim)(e.replace(".","")),u>=0){var a=n.indexOf(".")>0?n.length-n.indexOf(".")-1:-1;if(-1==a)n=(0,r.trim)(n+new Array(u+1).join("0"));else if(u>a)n=n.replace(".",""),n=(0,r.trim)(n+new Array(u-a+1).join("0"));else if(u<a){var s=(n=n.replace(".","")).length-a+u;n=(0,r.trim)(n.substring(0,s)+"."+n.substring(s))}else u==a&&(n=(0,r.trim)(n.replace(".","")))}var d=0,l=e.length,f="",g=n.indexOf(".")>-1&&n.indexOf(".")<l?n.substring(0,l+1):n.substring(0,l);if(n=n.indexOf(".")>-1&&n.indexOf(".")<l?n.substring(l+1):n.substring(l),g.indexOf(".")>-1){var v=g.length-g.indexOf(".")-1;l>(g=g.replace(".","")).length&&(v+=l-g.length,g+=new Array(l-g.length+1).join("0")),d=v,f="0."+new Array(v).join("0")}for(t+=2;d<=t;){for(var c=0;parseInt(g)>=parseInt(e);)g=(0,r.add)(g,"-"+e),c++;f+=c,n?("."==n[0]&&(f+=".",d++,n=n.substring(1)),g+=n.substring(0,1),n=n.substring(1)):(d||(f+="."),d++,g+="0")}return(1==o?"-":"")+(0,r.trim)((0,i.roundOff)(f,t-2))}},213:function(n,e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.modulus=void 0;var r=t(415),i=t(350),o=t(182),u=t(26),a=t(916);function s(n){if(-1!=n.indexOf("."))throw new Error("Modulus of non-integers not supported")}e.modulus=function(n,e){if(0==e)throw new Error("Cannot divide by 0");n=n.toString(),e=e.toString(),s(n),s(e);var t="";return"-"==n[0]&&(t="-",n=n.substr(1)),"-"==e[0]&&(e=e.substr(1)),t+(0,u.subtract)(n,(0,o.multiply)(e,(0,i.roundOff)((0,r.divide)(n,e),0,a.RoundingModes.FLOOR)))}},182:function(n,e){function t(n){for(;"0"==n[0];)n=n.substr(1);if(-1!=n.indexOf("."))for(;"0"==n[n.length-1];)n=n.substr(0,n.length-1);return""==n||"."==n?n="0":"."==n[n.length-1]&&(n=n.substr(0,n.length-1)),"."==n[0]&&(n="0"+n),n}Object.defineProperty(e,"__esModule",{value:!0}),e.multiply=void 0,e.multiply=function(n,e){n=n.toString(),e=e.toString();var r=0;"-"==n[0]&&(r++,n=n.substr(1)),"-"==e[0]&&(r++,e=e.substr(1)),n=t(n),e=t(e);var i=0,o=0;-1!=n.indexOf(".")&&(i=n.length-n.indexOf(".")-1),-1!=e.indexOf(".")&&(o=e.length-e.indexOf(".")-1);var u=i+o;if(n=t(n.replace(".","")),e=t(e.replace(".","")),n.length<e.length){var a=n;n=e,e=a}if("0"==e)return"0";for(var s,d,l=e.length,f=0,g=[],v=l-1,c="",p=0;p<l;p++)g[p]=n.length-1;for(p=0;p<2*n.length;p++){for(var h=0,b=e.length-1;b>=v&&b>=0;b--)g[b]>-1&&g[b]<n.length&&(h+=parseInt(n[g[b]--])*parseInt(e[b]));h+=f,f=Math.floor(h/10),c=h%10+c,v--}return c=t((s=c,0==(d=u)?s:(s=d>=s.length?new Array(d-s.length+1).join("0")+s:s).substr(0,s.length-d)+"."+s.substr(s.length-d,d))),1==r&&(c="-"+c),c}},350:function(n,e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.roundOff=void 0;var r=t(916);function i(n,e,t,i){if(!n||n===new Array(n.length+1).join("0"))return!1;if(i===r.RoundingModes.DOWN||!t&&i===r.RoundingModes.FLOOR||t&&i===r.RoundingModes.CEILING)return!1;if(i===r.RoundingModes.UP||t&&i===r.RoundingModes.FLOOR||!t&&i===r.RoundingModes.CEILING)return!0;var o="5"+new Array(n.length).join("0");if(n>o)return!0;if(n<o)return!1;switch(i){case r.RoundingModes.HALF_DOWN:return!1;case r.RoundingModes.HALF_UP:return!0;case r.RoundingModes.HALF_EVEN:default:return parseInt(e[e.length-1])%2==1}}function o(n,e){void 0===e&&(e=0),e||(e=1),"number"==typeof n&&n.toString();for(var t="",r=n.length-1;r>=0;r--){var i=parseInt(n[r])+e;10==i?(e=1,i=0):e=0,t+=i}return e&&(t+=e),t.split("").reverse().join("")}e.roundOff=function n(e,t,u){if(void 0===t&&(t=0),void 0===u&&(u=r.RoundingModes.HALF_EVEN),u===r.RoundingModes.UNNECESSARY)throw new Error("UNNECESSARY Rounding Mode has not yet been implemented");"number"!=typeof e&&"bigint"!=typeof e||(e=e.toString());var a=!1;"-"===e[0]&&(a=!0,e=e.substring(1));var s=e.split("."),d=s[0],l=s[1];if(t<0){if(t=-t,d.length<=t)return"0";var f=d.substr(0,d.length-t);return(a?"-":"")+(f=n(e=f+"."+d.substr(d.length-t)+l,0,u))+new Array(t+1).join("0")}if(0==t){d.length;return i(s[1],d,a,u)&&(d=o(d)),(a&&parseInt(d)?"-":"")+d}if(!s[1])return(a?"-":"")+d+"."+new Array(t+1).join("0");if(s[1].length<t)return(a?"-":"")+d+"."+s[1]+new Array(t-s[1].length+1).join("0");l=s[1].substring(0,t);var g=s[1].substring(t);return g&&i(g,l,a,u)&&(l=o(l)).length>t?(a?"-":"")+o(d,parseInt(l[0]))+"."+l.substring(1):(a&&(parseInt(d)||parseInt(l))?"-":"")+d+"."+l}},916:function(n,e){Object.defineProperty(e,"__esModule",{value:!0}),e.RoundingModes=void 0,function(n){n[n.CEILING=0]="CEILING",n[n.DOWN=1]="DOWN",n[n.FLOOR=2]="FLOOR",n[n.HALF_DOWN=3]="HALF_DOWN",n[n.HALF_EVEN=4]="HALF_EVEN",n[n.HALF_UP=5]="HALF_UP",n[n.UNNECESSARY=6]="UNNECESSARY",n[n.UP=7]="UP"}(e.RoundingModes||(e.RoundingModes={}))},26:function(n,e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.negate=e.subtract=void 0;var r=t(217);function i(n){return n="-"==n[0]?n.substr(1):"-"+n}e.subtract=function(n,e){return n=n.toString(),e=i(e=e.toString()),(0,r.add)(n,e)},e.negate=i}},e={};var t=function t(r){var i=e[r];if(void 0!==i)return i.exports;var o=e[r]={exports:{}};return n[r](o,o.exports,t),o.exports}(423);bigDecimal=t}(); |
{ | ||
"name": "js-big-decimal", | ||
"version": "1.3.12", | ||
"version": "1.3.13", | ||
"description": "Work with large numbers on the client side. Round them off to any required precission.", | ||
@@ -5,0 +5,0 @@ "main": "dist/node/js-big-decimal", |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
105931
1679