Pakete, Repositories und App-Kategorien suchen

GitHub-Repositorytantowi/dart_currency_type

dart_currency_type

Währungstyp in Dart / Flutter

Projektcover von dart_currency_type
Sterne
4
Forks
0
Letzter Push (UTC)
17.03.2025
Projektstatus
Aktiv

Original-README

Englischer Projektschnappschuss. Aktuelle Inhalte auf GitHub.

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");
  }
}
0.7 * 0.7 = 0.48999999999999994
Not Equal

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");
  }
}
0.7000 * 0.7000 = 0.4900
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: ^1.0.0

and then import to your dart file

import 'package:currency_type/currency_type.dart';

Variable declaration


You can declare Currency variable in 3 ways:

  1. Create zero value

    var a = Currency();
    
  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);
    
  3. Parsing from string :

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

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;

Currency can also be compared to other Currency

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


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

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");
}
Big Double   : 12345678901234568.0
Big Currency : 12345678901234567.1234




Copyright (c) 2021-2025, Mohamad Tantowi Mustofa (tantowi.com)
Licensed under BSD 3-Clause license.
Tantowi Mustofa GitHub avatar
GitHub-Autor

Tantowi Mustofa ↗

"talk less commit more"

Surabaya, Indonesia
SprachenDart

Von diesem Repository veröffentlichte Pakete

Verwendete Abhängigkeiten

Abhängigkeiten 1 Einträge

  • testEntwicklung^1.25.15

Wie wähle ich ein passendes Repository?

Nach Anwendungsfall filtern, Aktivität vergleichen und vor der Nutzung das Originalprojekt prüfen.

  1. Nach Name, Autor oder Beschreibung suchen und nach Thema eingrenzen.
  2. Sterne, Forks und letzte Pushes vergleichen. Sterne zeigen Interesse, garantieren aber keine Qualität.
  3. Vor der Nutzung README, Lizenz und Issues auf GitHub prüfen.

Quellen und Pflege

“A repository is the most basic element of GitHub.”

GitHub Docs — About repositories ↗