Pakete, Repositories und App-Kategorien suchen

Paketdetailsv3.2.6

decimal

Das decimal-Paket ermöglicht die Arbeit mit Dezimalzahlen ohne Genauigkeitsverlust.

AndroidiOSWebmacOSWindowsLinux
30-Tage-Downloads
1,1 Mio.
Likes
433
Pub-Punkte
160

Paket installieren

flutter pub add decimal

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

Das decimal-Paket bietet präzise Dezimalarithmetik in Dart und ermöglicht die genaue Behandlung von Dezimalzahlen ohne die Genauigkeitsverluste, die bei Gleitkommaberechnungen üblich sind. Es unterstützt eine exakte Dezimaldarstellung und Arithmetik und ist daher ideal für Finanzberechnungen und andere Szenarien mit hohem Genauigkeitsbedarf. Das Paket ist auf allen wichtigen Plattformen kompatibel, einschließlich Mobilgeräte, Web und Desktop. Es bietet eine saubere API zum Erstellen, Bearbeiten und Formatieren von Dezimalwerten mit vollständiger Kontrolle über Rundungsmodi und Skalierung.

Anwendungsfälle

  • Finanzberechnungen
  • wissenschaftliche Berechnungen
  • Währungshandhabung
  • präzise Datenverarbeitung
  • Einheitenkonvertierung

Hauptmerkmale

  • Hochpräzise Dezimalarithmetik
  • Kein Verlust an Gleitkommagenauigkeit
  • Unterstützung für Rundungsmodi
  • Plattformübergreifende Kompatibilität
  • Einfach zu verwendende API

Geeignet für

  • Anwendungen, die genaue Dezimalarithmetik erfordern
  • Finanz- oder Buchhaltungssoftware
  • Systeme, in denen Präzision entscheidend ist
  • Entwickler vermeiden Gleitkommungenauigkeiten

Hinweise

  • Geringfügig höherer Speicherverbrauch als bei Doppelzahlen
  • Nicht für leistungsintensive numerische Workloads optimiert
  • Erfordert expliziten Einsatz anstelle nativer numerischer Typen

Original-README

Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.

Dart Decimals

Build Status

This project enable to make computations on decimal numbers without losing precision like double operations.

For instance :

// with double
print(0.2 + 0.1); // displays 0.30000000000000004

// with decimal
print(Decimal.parse('0.2') + Decimal.parse('0.1')); // displays 0.3

Usage

To use this library in your code :

  • add a dependency in your pubspec.yaml :
dependencies:
  decimal:
  • add import in your dart code :
import 'package:decimal/decimal.dart';
  • Start computing using Decimal.parse('1.23').

Hint : To make your code shorter you can define a shortcut for Decimal.parse :

final d = (String s) => Decimal.parse(s);
d('0.2') + d('0.1'); // => 0.3

Formatting with intl

You can use the intl package to format decimal with DecimalFormat from the package:decimal/intl.dart library:

import 'package:decimal/decimal.dart';
import 'package:decimal/intl.dart';

main() {
  var value = Decimal.parse('1234.56');
  var formatter = DecimalFormatter(NumberFormat.decimalPattern('en-US'));
  print(formatter.format(value));
}

Tip: you can define an extension to make it more fluent:

extension on Decimal {
  String formatWith(NumberFormat formatter) => formatter.format(DecimalIntl(this));
}
main() {
  var value = Decimal.parse('1234.56');
  var formatter = DecimalFormatter(NumberFormat.decimalPattern('en-US'));
  print(value.formatWith(formatter));
}

WARNING: For now (2024.05.30) intl doesn't work with NumberFormat.maximumFractionDigits greater than 15 on web plateform and 18 otherwise.

Parsing with intl

You can use the NumberFormat from intl package to parse formatted decimals

var currencyFormatter = DecimalFormatter(NumberFormat.simpleCurrency(name: 'USD'));
currencyFormatter.parse('\$3.14'); // => 3.14

License

Apache 2.0

Kategorien

Abhängigkeiten

Abhängigkeiten 2 Einträge

Quell-Repository

Projekte, die dieses Paket verwenden

Ranglisten