UNPKG

locutus

Version:

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

26 lines (25 loc) 1.03 kB
import { _bc as bc } from "../_helpers/_bc.js"; export 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 = 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); }