## README

# arith

You have probably seen this example a thousand times, you do something like 0.1 + 0.2 and you get 0.30000000000000004.
This is because some numbers canâ€™t be accurately represented by JavaScriptâ€™s only number type
(IEEE 754 Binary Floating-Point). This obviously leads to a lot of headache for us developers. So this is an attempt to
cure that. `arith`

is very small (only ~1500 bytes, minified) and it only has four methods; `add`

, `divide`

, `multiply`

and
`subtract`

in two flavours.

`arith`

can be used with Node or in the browser (exported as a global variable).

### Examples using static methods

Addition

```
arith.add(5, 10); // => 15
```

Deviation

```
arith.divide(6, 2); // => 3
```

Multiplication

```
arith.multiply(2, 3, 4); // => 24
```

Subtraction

```
arith.subtract(15, 10); // => 5
```

You can also pass in strings

```
arith.add('2', '3'); // => 5
```

Or even an array!

```
arith.add([2, 3, 4]); // => 9
```

### Examples using instance methods

The difference here is that you can chain multiple operations together. To get the result, you need to call the
`.value()`

-method.

Simple addition

```
arith(5).add(10).value(); // => 15
```

Chain multiple operations together

```
arith(10).add(10).subtract(5).value(); // => 15
```

Just like the static methods, you can also pass in multiple arguments

```
arith(1).add(2, 3, 4).value(); // => 10
```

They also except strings

```
arith('1').add('2').value(); // => 3
```

Or an array

```
arith(1).add([2, 3, 4]).value(); // => 10
```

### Comments / Bugs / Ideas

Comments, ideas and bug reports are much appreciated! Please enter them on the issues page. Thanks!