currency_type 0.0.3
currency_type: ^0.0.3 copied to clipboard

Currency type for Dart and Flutter, a large numeric type, with exactly four digit after the decimal point, appropriate for financial calculations.

currency_type #

The Currency type is a large numeric type, with exactly four digit after the decimal point. Internally, Currency using integer calculation to minimizes rounding errors.

The Currency type is appropriate for financial calculations that require large numbers of significant integral, up to four fractional digits, and minimize error caused by floating point calculation.



Why Using Currency ? #


Using Double
func main() {
  var a = 0.7;
  var b = 0.49;
  var c = aa * aa;

  print('Result : $c');

  if (c == b) {
    print("Yes it's equal");
  } else {
    print("No it's not equal");
  }
}
Result : 0.48999999999999994
No it's not equal

Using Currency
func main() {
  var a = Currency.parse('0.7');
  var b = Currency.parse('0.49');
  var c = a * a;

  print('Result : $c');

  if (c == b) {
    print("Yes it's equal");
  } else {
    print("No it's not equal");
  }
}
Result : 0.4900
Yes it's equal

How To Use #


To use currency_type module, you have to add to your project by run following command:

$ dart pub add currency_type 

or add directly in pubspec.yaml

dependencies: 
  currency_type: ^0.0.2

and then import to your dart file

import 'package:currency_type/currency_type.dart';

Instantiate #


You can instantiate Currency with 3 ways:

  1. Create zero value

    var a = Currency();
    
  2. Import from num varible or num literal :

    var b = 1234;
    var c = 1234.56;
    
    var d = Currency.from(b);
    var e = Currency.from(c);
    
    var f = Currency.from(1234);
    var g = Currency.from(1234.56);
    
  3. Parsing from string :

    var f = Currency.parse('1234567890');
    var g = Currency.parse('1234567890123456.1234');
    

Currency can store very large number beyond double, and the only way to instantiate is by parsing from string.


Operation #


You can do arithmetic operation on `Currency` like addition, subtraction, multiplication, or division
   var h = d + e; 
   var i = g - h;
   var j = d * e; 
   var k = g / f; 

   var l = (d + e) * g;

Currency can also be compared to other Currency

   if (k == l) {
      ...
   }
   

   if (h > Currency.from(100)) {
      ...
   }




Copyright (c) 2021, Mohamad Tantowi Mustofa (tantowi.com)
Licensed under BSD 3-Clause license.
21
likes
130
pub points
45%
popularity

Publisher

tantowi.com

Currency type for Dart and Flutter, a large numeric type, with exactly four digit after the decimal point, appropriate for financial calculations.

Repository (GitHub)
View/report issues

Documentation

API reference

License

BSD-3-Clause (LICENSE)

More

Packages that depend on currency_type