FlutterMoneyFormatter é uma extensão do Flutter para formatar diversos tipos de moedas conforme as características que você gosta, sem precisar se vincular a nenhuma localização.
Orientação gerada a partir de informações públicas. Apenas para referência.
FlutterMoneyFormatter é um pacote Dart que permite formatação flexível de moedas em aplicativos Flutter. Ele permite que desenvolvedores personalizem como os valores monetários são exibidos, incluindo casas decimais, posição do símbolo e separadores de milhares, sem depender da localização do sistema. Isso o torna ideal para aplicativos que exigem exibições consistentes e com marca de moeda em diferentes regiões. O pacote oferece várias opções de formatação e se integra perfeitamente a projetos existentes no Flutter.
Casos de uso
Exibição de moeda personalizada em aplicativos de comércio eletrônico
Formatar preços com regras específicas de decimais
Exibindo moedas localizadas, mas não do sistema
Painéis financeiros com estilo consistente
Suporte a múltiplas moedas em um único aplicativo
Principais recursos
Separadores decimais e de milhar configuráveis
Posicionamento flexível do símbolo da moeda
Sem dependência da localização do sistema
Suporte a múltiplos formatos de moeda
Integração fácil com widgets do Flutter
Indicado para
Desenvolvedores que precisam de formatação de moeda personalizada
Aplicativos com base de usuários internacionais
Aplicações financeiras ou de varejo
Projetos evitando localização específica da plataforma
Equipes que desejam controle sobre o formato de números
Considerações
Não realiza conversão automática de moeda
Requer configuração manual para cada formato
Limitado à formatação de exibição, não à análise
Não adequado para necessidades de câmbio em tempo real
Pode ser necessário lógica adicional para alternância dinâmica de moeda
README original
Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.
FlutterMoneyFormatter
FlutterMoneyFormatter is a Flutter extension to formatting various types of currencies according to the characteristics you like, without having to be tied to any localization.
Dependencies :
Screenshot
Install
For complete steps in installing FlutterMoneyFormatter you can see in the Installation Guide.
To be able to format your double value into the various formats you want, you first need to create a FlutterMoneyFormatter instance like the following:
Of course you are not required to initialize the entire configuration in the settings (MoneyFormatterSettings) parameter as in the example above. You can change one or more of the configurations above. This is because each configuration above is not mandatory and has a default value.
You can change the type of compact format like for million using M or million, or trillion using T or trillion. and so on. This type only supports two type as described below:
Value
Description
CompactFormatType.short
Used to make the compact format displayed using short text.
CompactFormatType.long
Used to make the compact format displayed using long text.
MoneyFormatterOutput
You can use formats that match your needs through properties found in the MoneyFormatterOutput instance.
Property Names
Data Type
Descriptions
nonSymbol
String
The results of the format of the currency are normal and without a currency symbol. Example: 12,345,678.90
symbolOnLeft
String
The results of the normal currency format and with currency symbols are on the left. Example: $ 12,345,678.90
symbolOnRight
String
The results of the normal currency format and with currency symbols are on the right. Example: 12,345,678.90 $
compactNonSymbol
String
The results of the currency format are compact and without a currency symbol. Example: 12.3M
compactSymbolOnLeft
String
The results of the currency format are compact and with currency symbols on the left. example: $ 12.3M
compactSymbolOnRight
String
The results of the currency format are compact and with currency symbols on the right. example: 12.3M $
fractionDigitsOnly
String
Only give the fraction value. Example: 90
withoutFractionDigits
String
Give a value without fractions. Example: 12,345,678
MoneyFormatterCompare
Method
Parameter
Descriptions
isLowerThan
amount
Check current instance-amount is lower than [amount] or not.
isGreaterThan
amount
Check current instance-amount is greater than [amount] or not.
isEqual
amount
Check current instance amount is equal than [amount] or not.
isEqualOrLowerThan
amount
Check current instance amount is equal or lower than [amount] or not.
isEqualOrGreaterThan
amount
Check current instance amount is equal or greater than [amount] or not.
fastCalc is a function that can be used to perform various fast calculation processes that you might need. In implementing it, the fastCalc function gives the output of a FlutterMoneyFormatter instance so you can perform several calculation functions at once with the chaining method.
The type parameter used by the fastCalc function has the FastCalcType data type which is an enum. The following table is an explanation for the FastCalcType enum:
Index
Name
Description
0
addition
Used to do addition calculations.
1
substraction
Used to do substraction calculations.
2
multiplication
Used to do multiplication calculations.
3
division
Used to do division calculations.
4
percentageAddition
Used to do the addition calculations base on percentage.
5
percentageSubstraction
Used to do the substraction calculations base on percentage.
Duplicating Instance
For some reasons, you may need to duplicate the instance and just need to change some configurations. To do that, you can use the copyWith method as below:
Copyright (c) 2019, Fadhly Permata <fadhly.permata@gmail.com>
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
The views and conclusions contained in the software and documentation are those
of the authors and should not be interpreted as representing official policies,
either expressed or implied, of the 'FlutterMoneyFormatter' project.