commingle_money 2.1.1 copy "commingle_money: ^2.1.1" to clipboard
commingle_money: ^2.1.1 copied to clipboard

Open-source utilities from the Commingle app (https://commingle.app) for handling, formatting, and displaying monetary values in Flutter.

example/lib/main.dart

// ignore_for_file: public_member_api_docs

import 'package:commingle_money/commingle_money.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:intl/intl.dart';
import 'package:locale_plus/locale_plus.dart';

import 'screens/menu_screen.dart';

void main() async {
  // timeDilation = 5;

  WidgetsFlutterBinding.ensureInitialized();

  final separators = kIsWeb
      ? _separatorsFromPlatformDispatcher()
      : await _separatorsFromLocalePlus();

  runApp(
    MyApp(separators: separators),
  );
}

Future<AmountFormatSeparatorsData> _separatorsFromLocalePlus() async {
  final groupingSeparator = await LocalePlus().getGroupingSeparator() ?? ',';
  final decimalSeparator = await LocalePlus().getDecimalSeparator() ?? '.';

  return AmountFormatSeparatorsData(
    grouping: groupingSeparator,
    decimal: decimalSeparator,
  );
}

AmountFormatSeparatorsData _separatorsFromPlatformDispatcher() {
  final locale = WidgetsBinding.instance.platformDispatcher.locale;
  final formatter = NumberFormat.decimalPattern(locale.toLanguageTag());
  final symbols = formatter.symbols;

  return AmountFormatSeparatorsData(
    grouping: symbols.GROUP_SEP,
    decimal: symbols.DECIMAL_SEP,
  );
}

final class MyApp extends StatelessWidget {
  final AmountFormatSeparatorsData separators;

  const MyApp({
    super.key,
    required this.separators,
  });

  @override
  Widget build(BuildContext context) {
    return AmountFormatSeparators(
      data: separators,
      child: MaterialApp(
        debugShowCheckedModeBanner: false,
        title: 'Flutter Demo',
        theme: ThemeData.light(),
        darkTheme: ThemeData.dark(),
        home: const MenuScreen(),
      ),
    );
  }
}
14
likes
160
points
239
downloads

Documentation

API reference

Publisher

verified publishercommingle.app

Weekly Downloads

Open-source utilities from the Commingle app (https://commingle.app) for handling, formatting, and displaying monetary values in Flutter.

Homepage
Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

animated_flip_counter, collection, decimal, equatable, expressions, flutter

More

Packages that depend on commingle_money