Buscar pacotes, repositórios e categorias de apps

Detalhes do pacotev1.0.0

currency_type

Tipo de moeda para Dart e Flutter, um tipo numérico grande, com exatamente quatro dígitos após a vírgula decimal, adequado para cálculos financeiros.

AndroidiOSWebmacOSWindowsLinux
Downloads em 30 dias
84
Curtidas
27
Pontos Pub
150

Instalar pacote

flutter pub add currency_type

Visão geral do pacote

Orientação gerada a partir de informações públicas. Apenas para referência.

Um pacote Dart e Flutter projetado para cálculos financeiros precisos, oferecendo um tipo numérico grande que mantém exatamente quatro casas decimais. Garante precisão em operações com moeda ao prevenir erros de ponto flutuante comuns com tipos numéricos padrão. Ideal para aplicações que exigem precisão monetária rigorosa, como bancos, comércio eletrônico ou sistemas contábeis. O pacote é independente de plataforma, suportando todas as principais plataformas, incluindo Android, iOS, Web, macOS, Windows e Linux.

Casos de uso

  • Processamento de transações financeiras
  • Exibição de moeda em aplicativos
  • Sistemas de contabilidade e faturamento
  • Lógica de precificação de e-commerce
  • Aritmética monetária precisa
  • aplicações de rastreamento de orçamento

Principais recursos

  • Precisão fixa de quatro casas decimais
  • Evita imprecisões de ponto flutuante
  • Suporta operações aritméticas
  • Compatibilidade multiplataforma
  • API simples para manipulação de moedas
  • Ferramentas de formatação embutidas

Indicado para

  • Desenvolvedores de aplicativos financeiros
  • Aplicativos Flutter que precisam de cálculos precisos de dinheiro
  • Equipes que exigem representação consistente de moeda
  • Aplicações que lidam com pagamentos internacionais
  • Serviços de backend gerenciando dados monetários

Considerações

  • Não adequado para cálculos grandes não monetários
  • Requer manipulação cuidadosa de strings de entrada
  • Pode ter sobrecarga de desempenho para operações muito frequentes
  • Limitado a apenas quatro casas decimais
  • Não oferece suporte nativo a múltiplas moedas

README original

Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.

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.

Categorias

Repositório-fonte

Projetos que usam este pacote

Ainda não há dados.