View on GitHub

bigarith.js

Do very large math to precision!

subtract()

subtract() returns the difference of two numbers. There is a method function and a static method function.

Syntax

method function
ba.subtract(n);
static method function
BigArith.subtract(a, b);

Parameters

method function

n - Required - {string|number|BigArith}

A subtrahend with the value of the BigArith object add() is called on as the minuend. This could be a string of digits, a number, or a BigArith object.

static method function

a - Required - {string|number|BigArith}

The Minuend: this could be a string of digits, a number, or a BigArith object.

b - Required - {string|number|BigArith}

The Subtrahend: this could be a string of digits, a number, or a BigArith object.

Return value

method function - {BigArith}

A BigArith object with its value equals to the difference between the value of the BigArith object it is called on and n.

static method function - {BigArith}

A BigArith object with its value equals to the difference between a and b.

Description

There are two functions which could be used, the method function, and the static method function. The method function takes one parameter (n) and returns the difference between the value of the BigArith object it is called on and the parameter.

The static method function takes two parameters (a, b) and is always used as BigArith.subtract(). It returns the difference between a and b.

Any number parameter (that is not strings of digits or a BigArith) should be between the Number.MIN_SAFE_INTEGER and Number.MAX_SAFE_INTEGER limits.

Examples

In the server-side, always remember to add the line var BigArith = require('bigarith.js'); however every other thing remains the same in both server-side and client-side code.

Using method function

var ba = new BigArith("-17031986");
ba = ba.subtract("24011985"); //BigArith object with value "-41043971"

ba = new BigArith("+17031986");
ba = ba.subtract("24011985"); //BigArith object with value "-6979999"

ba = new BigArith("3");
ba = ba.subtract("2"); //BigArith object with value "1"

ba = new BigArith("-3");
ba = ba.subtract("2"); //BigArith object with value "-5"

ba = new BigArith("3");
ba = ba.subtract("-2"); //BigArith object with value "5"

ba = new BigArith("8888888888888888888888888888888888888888888888888888888");
ba = ba.subtract("99999999999999999999999999999999999999999999999999999999999999"); //BigArith object with value "-99999991111111111111111111111111111111111111111111111111111111" 

ba = new BigArith("3");
ba = ba.subtract(NaN); //NaN

Using the static method function

var ba = BigArith.subtract("-17031986", "24011985"); //BigArith object with value "-41043971"
ba = BigArith.subtract("+17031986", "24011985"); //BigArith object with value "-6979999"
ba = BigArith.subtract("3", "2"); //BigArith object with value "1"
ba = BigArith.subtract("-3", "2"); //BigArith object with value "-5"
ba = BigArith.subtract("3", "-2"); //BigArith object with value "5"
ba = BigArith.subtract("8888888888888888888888888888888888888888888888888888888", "99999999999999999999999999999999999999999999999999999999999999"); //BigArith object with value "-99999991111111111111111111111111111111111111111111111111111111"
ba = BigArith.subtract("3", NaN); //NaN

Method chaining

Since the method returns a BigArith object, method chaining is possible.

var ba = new BigArith("-17031986");
ba = ba.divide("+17031986").add("24011985").multiply("456785564").subtract("2"); //BigArith object with value "10968327654198974"

More examples here. Full documentation here

See also