UNPKG

locutus

Version:

Locutus other languages' standard libraries to JavaScript for fun and educational purposes

29 lines (28 loc) 1.14 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.bccomp = bccomp; const _bc_ts_1 = require("../_helpers/_bc.js"); function bccomp(leftOperand, rightOperand, scale) { // discuss at: https://locutus.io/php/bccomp/ // original by: lmeyrick (https://sourceforge.net/projects/bcmath-js/) // example 1: bccomp('-1', '5', 4) // returns 1: -1 // example 2: bccomp('1928372132132819737213', '8728932001983192837219398127471') // returns 2: -1 // example 3: bccomp('1.00000000000000000001', '1', 2) // returns 3: 0 // example 4: bccomp('97321', '2321') // returns 4: 1 const libbcmath = (0, _bc_ts_1._bc)(); if (typeof scale === 'undefined') { scale = libbcmath.scale; } scale = scale < 0 ? 0 : scale; let first = libbcmath.bc_init_num(); let second = libbcmath.bc_init_num(); // note bc_ not php_str2num first = libbcmath.bc_str2num(leftOperand.toString(), scale); // note bc_ not php_str2num second = libbcmath.bc_str2num(rightOperand.toString(), scale); return libbcmath.bc_compare(first, second); }