1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
function bcadd (left_operand, right_operand, scale) { // discuss at: http://phpjs.org/functions/bcadd/ // original by: lmeyrick (https://sourceforge.net/projects/bcmath-js/) // depends on: _phpjs_shared_bc // example 1: bcadd(1, 2); // returns 1: 3 // todo: implement these testcases var libbcmath = this._phpjs_shared_bc() var first, second, result if (typeof scale === 'undefined') { scale = libbcmath.scale } scale = ((scale < 0) ? 0 : scale) // create objects first = libbcmath.bc_init_num() second = libbcmath.bc_init_num() result = libbcmath.bc_init_num() first = libbcmath.php_str2num(left_operand.toString()) second = libbcmath.php_str2num(right_operand.toString()) result = libbcmath.bc_add(first, second, scale) if (result.n_scale > scale) { result.n_scale = scale } return result.toString() }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
function bcadd_tests() { // API reference: http://docs.jquery.com/QUnit module( "bcadd" ); test( "bcadd", function() { // note: bcadd won't add numbers with commas in them: equal( bcadd( '1,000', '1' ), '1' ); ok( true, "all pass" ); } ); }
There are no comments yet, be the first!