Flutter货币格式化插件bd_money_formatter的使用

Flutter货币格式化插件bd_money_formatter的使用

BDMoneyFormatter 是一个用于根据孟加拉国(BD)特性格式化货币的 Flutter 包。

特性

  • 将任何金额转换为孟加拉国货币格式。
  • 支持所有类型的数据。
  • 适用于所有类型的 Flutter 应用。

安装

要使用 bd_money_formatter Flutter 包,请按照以下步骤操作:

  1. 在项目的 <code>pubspec.yaml</code> 文件的依赖项部分添加以下行:

    flutter pub add bd_money_formatter
    
  2. 在 Dart 代码中导入包:

    import 'package:bd_money_formatter/bd_money_formatter.dart';
    

使用

BD Money Formatter

要格式化货币,使用 <code>BDMoneyFormatter(decimalAmount).result.amount</code> 方法。

class MyHomePage extends StatefulWidget {
  const MyHomePage({super.key});

  [@override](/user/override)
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  double amount = 2554413646;
  double decimalAmount = 97865466.352;
  double negativeDecimalAmount = -456978.32;
  BDMoneyFormatter output = BDMoneyFormatter(2554413646);
  final TextStyle _style = const TextStyle(
      color: Colors.black, fontSize: 16, fontWeight: FontWeight.bold);

  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        backgroundColor: Theme.of(context).colorScheme.inversePrimary,
        title: Text("BD Money Formatter"),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            Text(
              'BD Money Formatter Example',
              style: _style.copyWith(fontSize: 20),
            ),
            Text(
              'It accept any kind of datatype',
              style: _style,
            ),
            const SizedBox(height: 20.0),
            const Divider(),
            Text(
              'You have enter amount: $amount',
              style: _style,
            ),
            Text(
              'Your output amount: ${output.result.amount}',
              style: _style,
            ),
            const Divider(),
            Text(
              'If Money is Decimal Number: $decimalAmount',
              style: _style,
            ),
            Text(
              'Your output amount: ${BDMoneyFormatter(decimalAmount).result.amount}',
              style: _style,
            ),
            const Divider(),
            Text(
              'If Money is Negative Decimal Number: $negativeDecimalAmount',
              style: _style,
            ),
            Text(
              'Your output amount: ${BDMoneyFormatter(negativeDecimalAmount).result.amount}',
              style: _style,
            ),
          ],
        ),
      ),
    );
  }
}

更多关于Flutter货币格式化插件bd_money_formatter的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter货币格式化插件bd_money_formatter的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


bd_money_formatter 是一个用于 Flutter 应用的货币格式化插件,它可以帮助开发者轻松地将数字格式化为各种货币样式。以下是如何使用 bd_money_formatter 插件的详细步骤:

1. 添加依赖

首先,你需要在 pubspec.yaml 文件中添加 bd_money_formatter 插件的依赖:

dependencies:
  flutter:
    sdk: flutter
  bd_money_formatter: ^1.0.0  # 请使用最新版本

然后运行 flutter pub get 来获取依赖。

2. 导入插件

在你的 Dart 文件中导入 bd_money_formatter 插件:

import 'package:bd_money_formatter/bd_money_formatter.dart';

3. 使用 bd_money_formatter

bd_money_formatter 提供了多种方法来格式化货币。以下是一些常见的使用示例:

基本使用

你可以将数字格式化为本地货币样式:

void main() {
  // 创建一个 MoneyFormatter 对象
  MoneyFormatter fmf = MoneyFormatter(
    amount: 1234567.89,
    settings: MoneyFormatterSettings(
      symbol: '৳', // 货币符号
      thousandSeparator: ',', // 千位分隔符
      decimalSeparator: '.', // 小数分隔符
      symbolAndNumberSeparator: ' ', // 符号与数字之间的分隔符
      fractionDigits: 2, // 小数位数
    ),
  );

  // 获取格式化后的字符串
  String formattedMoney = fmf.output.symbolOnLeft;
  print(formattedMoney); // 输出: ৳ 1,234,567.89
}

自定义设置

你可以根据需要自定义货币格式的设置:

void main() {
  MoneyFormatter fmf = MoneyFormatter(
    amount: 9876543.21,
    settings: MoneyFormatterSettings(
      symbol: '\$', // 货币符号
      thousandSeparator: '.', // 千位分隔符
      decimalSeparator: ',', // 小数分隔符
      symbolAndNumberSeparator: '', // 符号与数字之间的分隔符
      fractionDigits: 3, // 小数位数
    ),
  );

  String formattedMoney = fmf.output.symbolOnLeft;
  print(formattedMoney); // 输出: \$9.876.543,210
}

格式化不同国家的货币

你可以根据需要格式化不同国家的货币:

void main() {
  MoneyFormatter fmf = MoneyFormatter(
    amount: 1234567.89,
    settings: MoneyFormatterSettings(
      symbol: '€', // 欧元符号
      thousandSeparator: ' ', // 千位分隔符
      decimalSeparator: ',', // 小数分隔符
      symbolAndNumberSeparator: ' ', // 符号与数字之间的分隔符
      fractionDigits: 2, // 小数位数
    ),
  );

  String formattedMoney = fmf.output.symbolOnLeft;
  print(formattedMoney); // 输出: € 1 234 567,89
}

4. 其他功能

bd_money_formatter 还提供了其他一些有用的功能,例如:

  • output.symbolOnRight: 将货币符号放在数字的右侧。
  • output.nonSymbol: 只返回格式化后的数字,不包含货币符号。
  • output.compactNonSymbol: 返回简化的格式化数字(如 1.23M)。
void main() {
  MoneyFormatter fmf = MoneyFormatter(
    amount: 1234567.89,
    settings: MoneyFormatterSettings(
      symbol: '¥', // 日元符号
      thousandSeparator: ',', // 千位分隔符
      decimalSeparator: '.', // 小数分隔符
      symbolAndNumberSeparator: ' ', // 符号与数字之间的分隔符
      fractionDigits: 2, // 小数位数
    ),
  );

  print(fmf.output.symbolOnRight); // 输出: 1,234,567.89 ¥
  print(fmf.output.nonSymbol); // 输出: 1,234,567.89
  print(fmf.output.compactNonSymbol); // 输出: 1.23M
}
回到顶部