currency_type 1.0.0 copy "currency_type: ^1.0.0" to clipboard
currency_type: ^1.0.0 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 #

Version

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 ? #


Currency prevent rounding error from floating point calculation. Currency also make comparisan more accurate and predictable.


Using Double

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

  print('$a * $a = $c');

  if (c == b) {
    print("Equal");
  } else {
    print("Not Equal");
  }
}
copied to clipboard
0.7 * 0.7 = 0.48999999999999994
Not Equal
copied to clipboard

Using Currency

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

  print('$a * $a = $c');

  if (c == b) {
    print("Equal");
  } else {
    print("Not Equal");
  }
}
copied to clipboard
0.7000 * 0.7000 = 0.4900
Equal
copied to clipboard

How To Use #


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

$ dart pub add currency_type 
copied to clipboard

or add directly in pubspec.yaml

dependencies: 
  currency_type: ^1.0.0
copied to clipboard

and then import to your dart file

import 'package:currency_type/currency_type.dart';
copied to clipboard

Variable declaration #


You can declare Currency variable in 3 ways:

  1. Create zero value

    var a = Currency();
    
    copied to clipboard
  2. Convert from numbers variable or 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);
    
    copied to clipboard
  3. Parsing from string :

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

Operations #


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;
copied to clipboard

Currency can also be compared to other Currency

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


if (h > Currency.from(100)) {
   ...
}
copied to clipboard

Big Numbers #


Unlike double, Currency can store very big number precisely.

func main() {
  var a = 12345678901234567.1234;
  print("Big Double   : $a");

  var b = Currency.parse('12345678901234567.1234');
  print("Big Currency : $b");
}
copied to clipboard
Big Double   : 12345678901234568.0
Big Currency : 12345678901234567.1234
copied to clipboard




Copyright (c) 2021-2025, Mohamad Tantowi Mustofa (tantowi.com)
Licensed under BSD 3-Clause license.
26
likes
150
points
99
downloads

Publisher

verified publishertantowi.com

Weekly Downloads

2024.10.02 - 2025.04.16

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

Repository (GitHub)

Documentation

API reference

License

BSD-3-Clause (license)

More

Packages that depend on currency_type