Fork me on GitHub

daisy

Daisy is a daisy-chainable JavaScript money calculator.

> var total = daisy('120').minus('12').plus(4).equals();
> console.log(total);
> '112.00'

Daisy supports all kinds of math operations and will always return a rounded string.

> var price = '140.00';
> var tax = 2;
> var subtotal = daisy(price).plus(tax).times('0.8').equals();
> console.log(subtotal);
> '113.60'

Daisy can round values

> var hundos = daisy('124.4').round(100, 'up').dividedBy('100').equals();
> console.log(billsNeeded);
> '2.00'

And it can work with number sets too

> var average = daisy(['12', '14', '16']).average().equals();
> console.log(average);
> '14.00'

> var min = daisy([-10, 0, 144]).min().equals();
> console.log(min);
> '-10.00'

> var max = daisy([-10, 0, 144]).max().equals();
> console.log(min);
> '144.00'
            

Daisy is configurable

var options = { supressInvalidNumbers: true };
> console.log( daisy('12', options).plus('fish').equals() );
> '12.00'

> options = { supressDivideByZero: true };
> console.log( daisy('12', options).dividedBy(0).equals() );
> '0.00'

> options = { printDollarSign: true };
> console.log( daisy('12', options).equals() );
> '$12.00'

See the full usages here

Add daisy to your project by CDN

https://cdn.rawgit.com/arecker/Daisy/master/dist/daisy.min.js