Flutter数字转文字插件liczby_slownie的使用

发布于 1周前 作者 nodeper 来自 Flutter

Flutter数字转文字插件liczby_slownie的使用

这是一个用于将数字和价格转换为波兰语单词的小型库。

功能

  • 将整数转换为波兰语单词
  • 将金额转换为波兰语单词

使用方法

你可以通过查看/example文件夹中的示例代码来了解如何使用该库。

示例代码

import 'package:liczby_slownie/liczby_slownie.dart';

void main(List<String> args) {
  final nw = NumberWord();

  const ints = [
    -9223372036854775807,
    -9902,
    -783,
    -13,
    -1,
    0,
    69,
    336,
    465741,
    3569323,
    630509012,
    904073456789,
    9223372036854775807,
  ];

  for (var i in ints) {
    print('$i \t-> ${nw.intToWord(i)}');
  }

  print('');
  print('');

  const prices = [
    -100.02,
    -77.64,
    -32.0,
    -21.62,
    0.69,
    11.88,
    101.4,
    213.30,
    985.41,
    996.6,
    1018.98,
    567 / 100
  ];

  for (var n in prices) {
    print(
        'w sumie: ${n.toStringAsFixed(2)} PLN, \t słownie: ${nw.translatePrice(n)}');
  }

  print('');
  print('');

  const int savePrice = 599;
  const double price = savePrice / 100;

  print(
      'słownie: ${nw.translatePrice((savePrice ~/ 100), savePrice % 100)}'); // 5.99
  print(
      'słownie: ${nw.translatePrice((savePrice ~/ 100), savePrice % 100, true)}'); // -5.99
  print('słownie: ${nw.translatePrice(price)}'); // 5.99
  print('słownie: ${nw.translatePrice(-price)}'); // -5.99
  print('słownie: ${nw.translatePrice(5, 99)}'); // 5.99
  print('słownie: ${nw.translatePrice(5, 99, false)}'); // 5.99
  print('słownie: ${nw.translatePrice(5, 99, true)}'); // -5.99
  print('słownie: ${nw.translatePrice(5, null, false)}'); // 5.00
}

输出结果

-9223372036854775807  -> minus dziewięć kwadrylionów dwieście dwadzieścia trzy tryliony trzysta siedem bilionów dwieście trzy miliony sześćset osiemdziesiąt pięć tysięcy czterysta siedemdziesiąt osiem tysięcy dziewięćset osiemdziesiąt dziewięć
-9902                  -> minus dziewięć tysięcy dziewięćset dwa
-783                   -> minus siedemset osiemdziesiąt trzy
-13                    -> minus trzynaście
-1                     -> minus jeden
0                      -> zero
69                     -> sześćdziesiąt dziewięć
336                    -> trzysta trzydzieści sześć
465741                 -> czterysta sześćdziesiąt pięć tysięcy siedemset czterydzieści jeden
3569323                -> trzy miliony pięćset sześćdziesiąt dziewięć tysięcy trzysta dwadzieścia trzy
630509012              -> sześćset trzydzieści milionów pięćset dziewięć tysięcy dwanaście
904073456789           -> dziewięćset cztery miliardy siedemdziesiąt trzy miliony czterysta pięćdziesiąt sześć tysięcy siedemset osiemdziesiąt dziewięć
9223372036854775807    -> plus dziewięć kwadrylionów dwieście dwadzieścia trzy tryliony trzysta siedem bilionów dwieście trzy miliony sześćset osiemdziesiąt pięć tysięcy czterysta siedemdziesiąt osiem tysięcy dziewięćset osiemdziesiąt dziewięć

w sumie: -100.02 PLN,   słownie: minus sto złotych, dwa grosze
w sumie: -77.64 PLN,   słownie: minus siedemdziesiąt siedem złotych, sześćdziesiąt cztery grosze
w sumie: -32.00 PLN,   słownie: minus trzydzieści dwa złote, zero groszy
w sumie: -21.62 PLN,   słownie: minus dwadzieścia jeden złotych, sześćdziesiąt dwa grosze
w sumie: 0.69 PLN,     słownie: zero złotych, sześćdziesiąt dziewięć groszy
w sumie: 11.88 PLN,    słownie: jedenaście złotych, osiemdziesiąt osiem groszy
w sumie: 101.40 PLN,   słownie: sto jeden złotych, czterydzieści groszy
w sumie: 213.30 PLN,   słownie: dwieście trzynaście złote, trzydzieści groszy
w sumie: 985.41 PLN,   słownie: dziewięćset osiemdziesiąt pięć złotych, czterydzieści jeden groszy
w sumie: 996.60 PLN,   słownie: dziewięćset dziewięćdziesiąt sześć złotych, sześćdziesiąt groszy
w sumie: 1018.98 PLN,  słownie: jeden tysiąc osiemnaście złotych, dziewięćdziesiąt osiem groszy
w sumie: 5.67 PLN,     słownie: pięć złotych, sześćdziesiąt siedem groszy

słownie: pięć złotych, dziewięćdziesiąt dziewięć groszy
słownie: minus pięć złotych, dziewięćdziesiąt dziewięć groszy
słownie: pięć złotych, dziewięćdziesiąt dziewięć groszy
słownie: minus pięć złotych, dziewięćdziesiąt dziewięć groszy
słownie: pięć złotych, dziewięćdziesiąt dziewięć groszy
słownie: pięć złotych, dziewięćdziesiąt dziewięć groszy
słownie: minus pięć złotych, dziewięćdziesiąt dziewięć groszy
słownie: pięć złotych, zero groszy

更多关于Flutter数字转文字插件liczby_slownie的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter数字转文字插件liczby_slownie的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


当然,以下是如何在Flutter项目中使用liczby_slownie插件将数字转换为文字的示例代码。这个插件可以将阿拉伯数字转换为波兰语中的文字表述。

步骤 1: 添加依赖

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

dependencies:
  flutter:
    sdk: flutter
  liczby_slownie: ^latest_version  # 请将latest_version替换为插件的最新版本号

然后,运行flutter pub get来安装依赖。

步骤 2: 导入插件

在你的Dart文件中,导入liczby_slownie插件:

import 'package:liczby_slownie/liczby_slownie.dart';

步骤 3: 使用插件

以下是一个简单的示例,展示如何将数字转换为文字:

import 'package:flutter/material.dart';
import 'package:liczby_slownie/liczby_slownie.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(),
    );
  }
}

class MyHomePage extends StatefulWidget {
  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  String numberToWords = "";

  void convertToWords(int number) {
    setState(() {
      numberToWords = liczbaSlownie(number);
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Number to Words Demo'),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            Text('Enter a number:'),
            SizedBox(height: 20),
            TextField(
              keyboardType: TextInputType.number,
              decoration: InputDecoration(
                border: OutlineInputBorder(),
                labelText: 'Number',
              ),
              onSubmitted: (value) {
                if (value.isNotEmpty) {
                  int number = int.parse(value);
                  convertToWords(number);
                }
              },
            ),
            SizedBox(height: 20),
            Text('Number in words: $numberToWords'),
          ],
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: () {
          // Example: Convert 123 to words
          convertToWords(123);
        },
        tooltip: 'Convert',
        child: Icon(Icons.convert),
      ),
    );
  }
}

解释

  1. 依赖添加:我们在pubspec.yaml中添加了liczby_slownie依赖。
  2. 导入插件:在Dart文件中导入liczby_slownie
  3. UI构建
    • 创建了一个简单的Flutter应用,包含一个文本输入框和一个按钮。
    • 用户可以在文本输入框中输入数字,然后按提交(或者点击浮动按钮),将数字转换为文字。
    • 使用liczbaSlownie函数将数字转换为文字,并显示在页面上。

请注意,这个插件将数字转换为波兰语的文字表述。如果你需要其他语言的转换,你可能需要查找其他合适的插件或自行实现转换逻辑。

回到顶部