"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.

Overview

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.

latest version last commit License

Dependencies :

intl

Screenshot

screenshot


Install

For complete steps in installing FlutterMoneyFormatter you can see in the Installation Guide.

Usage

Import the library

import 'package:flutter_money_formatter/flutter_money_formatter.dart';

Getting Started

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:

FlutterMoneyFormatter fmf = FlutterMoneyFormatter(
    amount: 12345678.9012345
);

Note, the code above still uses the default configuration as explained here.

After that, you can request various results of the format as follows:

// normal form
print(fmf.output.nonSymbol); // 12,345,678.90
print(fmf.output.symbolOnLeft); // $ 12,345,678.90
print(fmf.output.symbolOnRight); // 12,345,678.90 $
print(fmf.output.fractionDigitsOnly); // 90
print(fmf.output.withoutFractionDigits); // 12,345,678

// compact form
print(fmf.output.compactNonSymbol) // 12.3M
print(fmf.output.compactSymbolOnLeft) // $ 12.3M
print(fmf.output.compactSymbolOnRight) // 12.3M $

If you will use the output format several times, I strongly recommend that you initialize a variable as in the following example:

MoneyFormatterOutput fo = fmf.output;

Or directly when initializing the FlutterMoneyFormatter instance as in the following example:

MoneyFormatterOutput fo = FlutterMoneyFormatter(
    amount: 12345678.9012345
).output;

So you can immediately take the value more easily as in the following example:

// normal form
print(fo.nonSymbol); // 12,345,678.90
print(fo.symbolOnLeft); // $ 12,345,678.90
print(fo.symbolOnRight); // 12,345,678.90 $
print(fo.fractionDigitsOnly); // 90
print(fo.withoutFractionDigits); // 12,345,678

// compact form
print(fo.compactNonSymbol) // 12.3M
print(fo.compactLeftSymbol) // $ 12.3M
print(fo.compactRightSymbol) // 12.3M $

See demo section to get more info.

Configurations

To adjust the format to suit your needs, you can set it through the settings parameter:

FlutterMoneyFormatter fmf = new FlutterMoneyFormatter(
    amount: 12345678.9012345,
    settings: MoneyFormatterSettings(
        symbol: 'IDR',
        thousandSeparator: '.',
        decimalSeparator: ',',
        symbolAndNumberSeparator: ' ',
        fractionDigits: 3,
        compactFormatType: CompactFormatType.sort
    )
)

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.


Properties, Methods, and Functions

  • FlutterMoneyFormatter

Property Names Data Type Descriptions
amount double Amount number that will be formatted.
settings MoneyFormatterSettings See here.
output MoneyFormatterOutput See here.
comparator MoneyFormatterCompare See here.
copyWith FlutterMoneyFormatter see here
fastCalc FlutterMoneyFormatter see here
  • MoneyFormatterSettings

Configuration Property Data Type Default Value Description
symbol String $ (Dollar Sign) The symbol that will be used on formatted output.
thousandSeparator String , The character that will be used as thousand separator on formatted output.
decimalSeparator String . The character that will be used as decimal separator on formatted output.
fractionDigits int 2 The fraction digits that will be used on formatted output.
symbolAndNumberSeparator String ' ' (Space) The character that will be used as separator between formatted number and currency symbol.
compactFormatType CompactFormatType CompactFormatType.short See here.
  • CompactFormatType

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.

Example of using a comparator:

FlutterMoneyFormatter fmf = FlutterMoneyFormatter(amount: 12345678.9012345);
double comparerValue = 5678.9012;

print(fmf.comparator.isEqual(comparerValue)); // false
print(fmf.comparator.isGreaterThan(comparerValue)); // true

FastCalc

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.

Function:

FlutterMoneyFormatter fastCalc({
    @required FastCalcType type, 
    @required double amount
})

Implementation:

FlutterMoneyFormatter fmf = FlutterMoneyFormatter(amount: 12345.678);
fmf.fastCalc(type: FastCalcType.addition, amount: 1.111);
fmf.fastCalc(type: FastCalcType.substraction, amount: 2.222);

print(fmf.output.nonSymbol); // 12,345.68

Because it supports the chaining process, the example above can be shortened as follows:

FlutterMoneyFormatter fmf = FlutterMoneyFormatter(amount: 12345.678)
    .fastCalc(type: FastCalcType.addition, amount: 1.111)
    .fastCalc(type: FastCalcType.substraction, amount: 2.222);

print(fmf.output.nonSymbol);  // 12,345.68

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:

FlutterMoneyFormatter fmf = FlutterMoneyFormatter(amount: 12345678.9012345);

print(fmf.output.symbolOnLeft); // $ 12,345,678.90
print(fmf.copyWith(symbol: 'IDR', symbolAndNumberSeparator: '-').output.symbolOnLeft); // IDR-12,345,678.90

Demo

For more complete samples, you can grab it from the example directory.

Our Other Package

See our other packages here.

Help Me

If you find some issues or bugs, please report here. You can also help in requesting new features here.

ChangeLog

Are you curious about the changes that occur in each version? See here for detailed informations.

Contributors

Name Links
Fadhly Permata https://github.com/fadhly-permata
Gerrel https://github.com/Gerrel
...you... ...your link...

LICENSE

Copyright (c) 2019, Fadhly Permata <[email protected]>
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.
Comments
  • Value not in range: -1

    Value not in range: -1

    Describe the bug Hello, I'm facing an issue when I try to execute this simple instruction

    FlutterMoneyFormatter(amount: 15.0, settings: MoneyFormatterSettings(symbol: 'EUR'))
    

    Result:

    Value not in range: -1
    

    Important note: This error does not occur on the emulator, it does only concern real devices (in my case, a S9+)

    To Reproduce Steps to reproduce the behavior: Just execute the instruction above on a real device

    Additional context The error is thrown by the following code execution:

    FlutterMoneyFormatter._getOutput (package:flutter_money_formatter/src/flutter_money_formatter_base.dart:91:18)
    

    Note: I have of course added the 'intl: ^0.15.8' dependency

    bug done 
    opened by b-stud 6
  • Support intl 0.16.0

    Support intl 0.16.0

    Overview After I updated the project to the stable channel, I have started getting the following error:

    Because flutter_money_formatter >=0.8.2 depends on intl ^0.15.8 and every version of flutter_localizations from sdk depends on intl 0.16.0, flutter_money_formatter >=0.8.2 is incompatible with flutter_localizations from sdk.

    So, because bcmd_end_client_app_flutter depends on both flutter_localizations any from sdk and flutter_money_formatter ^0.8.3, version

    Current version

    Flutter (Channel master, v1.10.6-pre.39, on Mac OS X 10.14.5 18F132, locale en-NL)
        • Flutter version 1.10.6-pre.39 at /Users/denree/Projects/Others.../Flutter/flutter
        • Framework revision 4815b26d71 (3 hours ago), 2019-09-24 00:21:44 -0700
        • Engine revision 953ac71749
        • Dart version 2.6.0 (build 2.6.0-dev.0.0 d53d355c6c)
    
    opened by Den-Ree 3
  • FormatException thrown when I used Indonesia language as the app localisations

    FormatException thrown when I used Indonesia language as the app localisations

    FormatException is thrown when I used Indonesia language as the Applocalizations in both iOS and Android. It was working fine if I set the device language to English but when I switch to Indonesia language I got this FormatException(2, 32).

    To Reproduce Steps to reproduce the behavior:

    1. Create flutter app localisations (in this case I use "en", and "id")
    2. Go to Settings in iOS device or Android device emulator
    3. Switch the language to Indonesia
    4. Start the app and you will see the format exception error.

    Expected behavior The money value should be formatted correctly regardless of the language.

    Screenshots Screen Shot 2019-08-18 at 10 46 13 am

    Smartphone (please complete the following information):

    • Device: Android and iOS emulator
    opened by dwhub 3
  • need to enforce a dot region for base format

    need to enforce a dot region for base format

    When using the nl_NL locale in my app which uses a comma decimalSeparator this library crashes. The issue is resolved by enforcing a dot decimalSeparator region like en_US for processing. Crash stack trace:

    flutter: _LocalizationsScope-[GlobalKey#c52f0]]):
    flutter: 0, 42
    flutter:
    flutter: When the exception was thrown, this was the stack:
    flutter: #0      num.parse (dart:core/num.dart:474:26)
    flutter: #1      FlutterMoneyFormatter._compactNonSymbol (package:flutter_money_formatter/src/flutter_money_formatter_base.dart:170:21)
    flutter: #2      FlutterMoneyFormatter._getOutput (package:flutter_money_formatter/src/flutter_money_formatter_base.dart:85:27)
    flutter: #3      new FlutterMoneyFormatter (package:flutter_money_formatter/src/flutter_money_formatter_base.dart:58:14)
    flutter: #4      CalculateVatModel.priceVat (package:_____app/models/CalculateVatModel.dart:109:12)
    flutter: #5      CalculateVatScreenState._renderCalculatorDisplay (package:_____app/screens/calculate_vat_screen.dart:143:34)
    flutter: #6      CalculateVatScreenState._renderBody.<anonymous closure> (package:_____app/screens/calculate_vat_screen.dart:103:23)
    flutter: #7      ScopedModelDescendant.build (package:scoped_model/scoped_model.dart:261:12)
    flutter: #8      StatelessElement.build (package:flutter/src/widgets/framework.dart:3974:28)
    flutter: #9      ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3924:15)
    flutter: #10     Element.rebuild (package:flutter/src/widgets/framework.dart:3721:5)
    flutter: #11     BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2340:33)
    flutter: #12     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding&WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:700:20)
    flutter: #13     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:285:5)
    flutter: #14     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1016:15)
    flutter: #15     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:958:9)
    flutter: #16     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:874:5)
    flutter: #20     _invoke (dart:ui/hooks.dart:236:10)
    flutter: #21     _drawFrame (dart:ui/hooks.dart:194:3)
    flutter: (elided 3 frames from package dart:async)
    flutter: ════════════════════════════════════════════════════════════════════════════════════════════════════
    
    opened by Gerrel 3
  • Flutter Money Formatter is not compatible with intl 0.16.1

    Flutter Money Formatter is not compatible with intl 0.16.1

    Describe the bug Running "flutter pub get" in fitway_crm...
    Because flutter_money_formatter >=0.8.2 depends on intl ^0.15.8 and flutter_money_formatter <0.8.2 depends on intl ^0.15.7, every version of flutter_money_formatter requires intl ^0.15.7.

    And because every version of flutter_localizations from sdk depends on intl 0.16.0, flutter_money_formatter is incompatible with flutter_localizations from sdk.

    So, because fitway_crm depends on both flutter_localizations any from sdk and flutter_money_formatter any, version solving failed. pub get failed (1; So, because fitway_crm depends on both flutter_localizations any from sdk and flutter_money_formatter any, version solving failed.) Process finished with exit code 1

    opened by mukkulsingh 1
  • Locale in formatter

    Locale in formatter

    Describe the bug I had NumberFormatException, while using your lib on my Ukrainian locale.

    Additional context I was not able to push changes in any branch an make a PR, so I forked, but it have sense to make a PR and hold all stuff in one place. So please, give me a response, when and how I can contribute. Thanks

    opened by VadPinchuk 1
  • Rounding Value

    Rounding Value

    Describe the bug I get a problem with rounding value

    To Reproduce your sample : FlutterMoneyFormatter fmf = FlutterMoneyFormatter( amount: 12345678.9012345 ); and output with print(fo.compactNonSymbol); is 12.30M

    My sample : i change amount with 12355678.9012345 (change number four to five) and output with print(fo.compactNonSymbol); is 12.40M

    Expected behavior My Expectation is 12.35

    Screenshots

    Screen Shot 2019-07-29 at 12 26 56

    Smartphone (please complete the following information):

    • Device: [Xiaomi Redmi Note 5]
    • OS: [8.1]

    Thanks!

    wontfix not an issue Improvement Idea 
    opened by LaksamanaGuntur 1
  • `fractionDigitsOnly` output has decimal separator char

    `fractionDigitsOnly` output has decimal separator char

    The update in version 0.7.1 has an error in the fractionDigitsOnly output that carries a decimal separator character. Decimal separator characters should not be displayed.

    bug invalid done 
    opened by fadhly-permata 1
  • How do I use it within a listView?

    How do I use it within a listView?

    How do I use this package within a listView bearing in mind the index since I always have to instantiate the function with the amount inside initState?

    opened by benthemobileguy 0
  • Update to Android V2 embedding

    Update to Android V2 embedding

    Describe the bug

    The plugins `flutter_money_formatter` use a deprecated version of the Android embedding.
    To avoid unexpected runtime failures, or future build failures, try to see if these plugins support the Android V2 embedding. Otherwise, consider removing them since a future release of Flutter will remove these deprecated APIs.
    If you are plugin author, take a look at the docs for migrating the plugin to the V2 embedding: https://flutter.dev/go/android-plugin-migration.
    
    opened by v360-bruno-sato 2
  • null safety

    null safety

    null safety in dart version 2.12.0 and publish to pub.dart lang , i want use this package in my project , but after i wanna release apk show me errors than - package:flutter_money_formatter does not null safety .

    opened by HamiidrezaRamezani 2
  • Cannot run with valid yaml

    Cannot run with valid yaml

    When I try to run flutter web app with flutter_money_formatter i get this error, if i delete flutter_money_formatter from pubspec.yaml file, it compiles

    Launching lib/main.dart on Chrome in debug mode...
    Unhandled exception:
    NoSuchMethodError: The getter 'path' was called on null.
    Receiver: null
    Tried calling: path
    #0      Object.noSuchMethod  (dart:core-patch/object_patch.dart:53:5)
    #1      JavaScriptBundler.compile  (package:frontend_server/src/javascript_bundle.dart:150:65)
    <asynchronous suspension>
    #2      FrontendCompiler.writeJavascriptBundle  (package:frontend_server/frontend_server.dart:627:20)
    <asynchronous suspension>
    #3      FrontendCompiler.compile  (package:frontend_server/frontend_server.dart:533:15)
    <asynchronous suspension>
    #4      _FlutterFrontendCompiler.compile  (package:flutter_frontend_server/server.dart:40:22)
    #5      listenAndCompile.<anonymous closure>  (package:frontend_server/frontend_server.dart:1164:26)
    #6      _RootZone.runUnaryGuarded  (dart:async/zone.dart:1374:10)
    #7      _BufferingStreamSubscription._sendData  (dart:async/stream_impl.dart:339:11)
    #8      _BufferingStreamSubscription._add  (dart:async/stream_impl.dart:266:7)
    #9      _SinkTransformerStreamSubscription._add  (dart:async/stream_transformers.dart:70:11)
    #10     _EventSinkWrapper.add  (dart:async/stream_transformers.dart:17:11)
    #11     _StringAdapterSink.add  (dart:convert/string_conversion.dart:238:11)
    #12     _LineSplitterSink._addLines  (dart:convert/line_splitter.dart:152:13)
    #13     _LineSplitterSink.addSlice  (dart:convert/line_splitter.dart:127:5)
    #14     StringConversionSinkMixin.add  (dart:convert/string_conversion.dart:165:5)
    #15     _SinkTransformerStreamSubscription._handleData  (dart:async/stream_transformers.dart:122:24)
    #16     _RootZone.runUnaryGuarded  (dart:async/zone.dart:1374:10)
    
    #17     _BufferingStreamSubscription._sendData  (dart:async/stream_impl.dart:339:11)
    #18     _BufferingStreamSubscription._add  (dart:async/stream_impl.dart:266:7)
    #19     _SinkTransformerStreamSubscription._add  (dart:async/stream_transformers.dart:70:11)
    #20     _EventSinkWrapper.add  (dart:async/stream_transformers.dart:17:11)
    
    #21     _StringAdapterSink.add  (dart:convert/string_conversion.dart:238:11)
    #22     _StringAdapterSink.addSlice  (dart:convert/string_conversion.dart:243:7)
    #23     _Utf8ConversionSink.addSlice  (dart:convert/string_conversion.dart:315:20)
    #24     _Utf8ConversionSink.add  (dart:convert/string_conversion.dart:308:5)
    #25     _ConverterStreamEventSink.add  (dart:convert/chunked_conversion.dart:74:18)
    #26     _SinkTransformerStreamSubscription._handleData  (dart:async/stream_transformers.dart:122:24)
    #27     _RootZone.runUnaryGuarded  (dart:async/zone.dart:1374:10)
    
    #28     _BufferingStreamSubscription._sendData  (dart:async/stream_impl.dart:339:11)
    #29     _BufferingStreamSubscription._add  (dart:async/stream_impl.dart:266:7)
    
    #30     _SyncStreamControllerDispatch._sendData  (dart:async/stream_controller.dart:779:19)
    #31     _StreamController._add  (dart:async/stream_controller.dart:655:7)
    #32     _StreamController.add  (dart:async/stream_controller.dart:597:5)
    #33     _Socket._onData  (dart:io-patch/socket_patch.dart:1999:41)
    #34     _RootZone.runUnaryGuarded  (dart:async/zone.dart:1374:10)
    
    #35     _BufferingStreamSubscription._sendData  (dart:async/stream_impl.dart:339:11)
    #36     _BufferingStreamSubscription._add  (dart:async/stream_impl.dart:266:7)
    
    #37     _SyncStreamControllerDispatch._sendData  (dart:async/stream_controller.dart:779:19)
    #38     _StreamController._add  (dart:async/stream_controller.dart:655:7)
    #39     _StreamController.add  (dart:async/stream_controller.dart:597:5)
    #40     new _RawSocket.<anonymous closure>  (dart:io-patch/socket_patch.dart:1544:33)
    
    #41     _NativeSocket.issueReadEvent.issue  (dart:io-patch/socket_patch.dart:1036:14)
    #42     _microtaskLoop  (dart:async/schedule_microtask.dart:43:21)
    #43     _startMicrotaskLoop  (dart:async/schedule_microtask.dart:52:5)
    #44     _runPendingImmediateCallback  (dart:isolate-patch/isolate_patch.dart:118:13)
    #45     _RawReceivePortImpl._handleMessage  (dart:isolate-patch/isolate_patch.dart:169:5)
    
    the Dart compiler exited unexpectedly.
    Exited (sigterm)
    Failed to compile application.
    

    My pubspec.yaml

    environment:
      sdk: ">=2.7.0 <3.0.0"
    
    dependencies:
      flutter:
        sdk: flutter
      flutter_localizations:
        sdk: flutter
      logger: ^0.9.1
      redux:
      redux_thunk:
      redux_persist: ^0.8.4
      redux_persist_web: ^0.8.2
      flutter_redux:
      http:
      web_socket_channel: ^1.1.0
      rxdart:
      shared_preferences: ^0.5.7+1
      universal_html: ^1.2.2
      flutter_screenutil: ^0.5.3
      intl: ^0.16.1
      flutter_money_formatter:
        git:
          url: git://github.com/anisalibegic/flutter_money_formatter.git
    dev_dependencies:
      flutter_test:
        sdk: flutter
    flutter:
    

    Flutter Doctor -v [✓] Flutter (Channel beta, 1.18.0-11.1.pre, on Mac OS X 10.15.4 19E287, locale tr-TR) • Flutter version 1.18.0-11.1.pre at /Users/ulaskasim/Documents/development/flutter • Framework revision 2738a1148b (11 days ago), 2020-05-13 15:24:36 -0700 • Engine revision ef9215ceb2 • Dart version 2.9.0 (build 2.9.0-8.2.beta)

    [✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2) • Android SDK at /Users/ulaskasim/Library/Android/sdk • Platform android-29, build-tools 29.0.2 • ANDROID_HOME = /Users/ulaskasim/Library/Android/sdk • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405) • All Android licenses accepted.

    [✓] Xcode - develop for iOS and macOS (Xcode 11.3.1) • Xcode at /Applications/Xcode.app/Contents/Developer • Xcode 11.3.1, Build version 11C504 • CocoaPods version 1.8.4

    [✓] Chrome - develop for the web • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

    [✓] Android Studio (version 3.5) • Android Studio at /Applications/Android Studio.app/Contents • Flutter plugin version 42.1.1 • Dart plugin version 191.8593 • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)

    [✓] VS Code (version 1.45.1) • VS Code at /Applications/Visual Studio Code.app/Contents • Flutter extension version 3.10.2

    [✓] Connected device (2 available) • Web Server • web-server • web-javascript • Flutter Tools • Chrome • chrome • web-javascript • Google Chrome 81.0.4044.138

    • No issues found!

    opened by UlasKasim 0
  • output.withoutFractionDigits doesn't give the expected result

    output.withoutFractionDigits doesn't give the expected result

    Describe the bug FlutterMoneyFormatter(..).output.withoutFractionDigits doesn't give the expected result.

    To Reproduce Steps to reproduce the behavior:

    1. Declare FlutterMoneyFormatter( amount: 0, settings: MoneyFormatterSettings( thousandSeparator: '.', fractionDigits: 0)) as singleton
    2. Execute the formatter : moneyFormatter.copyWith( amount: double.parse("3435696689") ).output.withoutFractionDigits
    3. See the result

    Expected behavior The result should be 3.435.696.689

    Actual behavior Formatter returned 3

    opened by fauzynurn 0
Releases(v0.5.1)
Owner
Fadhly Permata
I am programmer, not pro gamer 🤣
Fadhly Permata
SSH no ports provides ssh to a remote Linux device with out that device having any ports open

Ssh! No ports ssh no ports provides a way to ssh to a remote linux host/device without that device having any open ports (not even 22) on external int

The Atsign Foundation 224 Dec 21, 2022
Receive sharing photos, videos, text, URLs, or any other file types from another app.

Receive Sharing Files To Flutter App Through Other Apps Receive sharing photos, videos, text, URLs, or any other file types from another app. Visit :

Jaimil Patel 21 Dec 25, 2022
WYSIWYG editor for Flutter with a rich set of supported formatting options. (WIP)

✨ rich_editor WYSIWYG editor for Flutter with a rich set of supported formatting options. Based on https://github.com/dankito/RichTextEditor, but for

Festus Olusegun 116 Dec 27, 2022
Leverages libphonenumber to allow for asynchronous and synchronous formatting of phone numbers in Flutter apps

Leverages libphonenumber to allow for asynchronous and synchronous formatting of phone numbers in Flutter apps. Includes a TextInputFormatter to allow real-time AsYouType formatting.

Bottlepay 43 Nov 2, 2022
A package that exports functions for converting, formatting, and nicening of dates/times in Dart.

Instant A library for manipulating and formatting DateTimes in Dart. Dates and times have never been easier. | DateTime timezone manipulation | Easy f

Aditya Kishore 10 Jan 22, 2022
MoneyTextFormField is one of the flutter widget packages that can be used to input values in the form of currencies, by displaying the output format in realtime.

MoneyTextFormField MoneyTextFormField is one of the flutter widget packages that can be used to input values in the form of currencies, by displaying

Fadhly Permata 11 Jan 1, 2023
A simple flutter application from an Udemy course to exchange the following currencies: real, dollar and euro using HG Brasil API.

cambiador Conversor de moedas como Dollar, Euro e Real. Getting Started This project is a starting point for a Flutter application. A few resources to

Edilson Matola 1 Mar 17, 2022
Sample flutter project to show exchange Rates of leading cryptos to different currencies in the world.

bitcointicker A bitcoin ticker project Getting Started This project is a starting point for a Flutter application. A few resources to get you started

null 0 Feb 15, 2022
Firebase firestore currencies app, realtime database example.

Firebase firestore currencies app, realtime database example.

Mustafa KIZILTAY 1 Apr 27, 2022
It's a universal app template to have a great animated splash screen and liquid slider. Just change the animation if you want (rive) and change the images or colours according to your app.

liquid A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if this i

Zikyan Rasheed 28 Oct 7, 2022
Integrate any icons you like to your flutter app

Flutter Tutorial - Icons - Custom & Plugin Icons Integrate any icons you like to your flutter app - Material Icons, Beautiful Icons & Custom Icons. ⚡

Behruz Hurramov 1 Dec 28, 2021
Multi-language support in Flutter without using any third-party library

flutter_localization_app A new Flutter application. Getting Started This project is a starting point for a Flutter application. A few resources to get

Gulshan Yadav 1 Oct 30, 2021
A simple HSV color picker without any glitz or glamour.

simple_color_picker Flutter Package A simple HSV color picker without any glitz or glamour. Sample Installation dependencies: simlpe_color_picker: a

Syed Taha Ali 3 Apr 22, 2021
Flutter package that provides you custom clippers to help you achieve various custom shapes.

flutter_custom_clippers Flutter package that provides you custom clippers to help you achieve various custom shapes. Usage To use this plugin, add flu

Damodar Lohani 291 Dec 23, 2022
An Android Launcher (having Ubuntu-Gnome flavour) build with Flutter

Ubuntu Launcher Introduction Ubuntu launcher is an custom android launcher build with Flutter with a Ubuntu-Gnome look. Though flutter is a cross plat

5hifaT 252 Dec 22, 2022
A very easy-to-use navigation tool/widget for having iOS 13 style stacks.

cupertino_stackview A very easy-to-use navigation tool/widget for having iOS 13 style stacks. It is highly recommended to read the documentation and r

AliYigitBireroglu 49 Nov 18, 2022
A highly customisable and simple widget for having iOS 13 style tab bars.

cupertino_tabbar A highly customisable and simple widget for having iOS 13 style tab bars. It is highly recommended to read the documentation and run

AliYigitBireroglu 98 Oct 31, 2022
A simple widget for having UI elements that respond to taps with a spring animation.

spring_button A simple widget for having child widgets that respond to gestures with a spring animation. Media | Description | How-to-Use Media Watch

AliYigitBireroglu 73 Oct 26, 2022