Flutter数字转波斯文插件num2persian的使用
Flutter数字转波斯文插件num2persian的使用
num2persian
是一个用于将数字转换为波斯文字的 Dart 库。这在以波斯语为主要语言的应用程序中显示数字时非常有用,例如将货币金额写成文字。
特性
- 将数字转换为波斯文字。
- 将数字转换为波斯货币单位(土曼,里亚尔)。
- 使用逗号格式化数字。
- 将数字转换为波斯数字。
- 在土曼和里亚尔之间进行转换。
- 支持
int
和String
类型。
安装
在你的 pubspec.yaml
文件中添加以下依赖项:
dependencies:
num2persian: ^0.0.3
然后运行 flutter pub get
来获取该包。
使用
要使用 num2persian
库,在 Dart 代码中导入它:
import 'package:num2persian/num2persian.dart';
示例
将数字转换为波斯文字
对于 String
类型:
String number = "123";
print(number.toPersianLetter()); // 输出: یکصد و بیست و سه
对于 int
类型:
int number = 123;
print(number.toPersianLetter()); // 输出: یکصد و بیست و سه
将数字转换为波斯货币单位
转换为土曼:
String number = "12345";
print(number.toToman()); // 输出: دوازده هزار و سیصد و چهل و پنج تومان
转换为里亚尔:
int number = 12345;
print(number.toRial()); // 输出: دوازده هزار و سیصد و چهل و پنج ریال
使用逗号格式化数字
对于 String
类型:
String number = "1234567";
print(number.formatWithCommas()); // 输出: 1,234,567
对于 int
类型:
int number = 1234567;
print(number.formatWithCommas()); // 输出: 1,234,567
将数字转换为波斯数字
对于 String
类型:
String number = "1234567";
print(number.toPersianNumber()); // 输出: ۱۲۳۴۵۶۷
对于 int
类型:
int number = 1234567;
print(number.toPersianNumberInt()); // 输出: ۱۲۳۴۵۶۷
将里亚尔转换为土曼
对于 String
类型:
String rial = "1234567";
print(rial.rialToToman()); // 输出: 123456
对于 int
类型:
int rial = 1234567;
print(rial.rialToToman()); // 输出: 123456
将土曼转换为里亚尔
对于 String
类型:
String toman = "123456";
print(toman.tomanToRial()); // 输出: 1234560
对于 int
类型:
int toman = 123456;
print(toman.tomanToRial()); // 输出: 1234560
Flutter 使用
你可以在 Flutter 应用程序中使用 num2persian
来在 UI 组件中以波斯文字显示数字。
示例 Flutter 应用
这是一个简单的 Flutter 应用示例,使用了 num2persian
库:
import 'package:flutter/material.dart';
import 'package:num2persian/num2persian.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('num2persian 示例'),
),
body: Center(
child: NumberDisplay(),
),
),
);
}
}
class NumberDisplay extends StatelessWidget {
@override
Widget build(BuildContext context) {
String number = "123456";
return Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text('数字: $number'),
Text('波斯文字: ${number.toPersianLetter()}'),
Text('作为土曼: ${number.toToman()}'),
Text('作为里亚尔: ${number.toRial()}'),
Text('带逗号: ${number.formatWithCommas()}'),
Text('波斯数字: ${number.toPersianNumber()}'),
Text('里亚尔转土曼: ${number.rialToToman()}'),
Text('土曼转里亚尔: ${number.tomanToRial()}'),
],
);
}
}
这个示例创建了一个简单的 Flutter 应用,其中包含一个 NumberDisplay
小部件,该小部件展示了数字的不同格式,使用了 num2persian
库。
API
num2persian
String num2Persian(String number)
将数字字符串转换为其波斯文字等效形式。
String number = "123";
print(num2Persian(number)); // 输出: یکصد و بیست و سه
num2persian.PersianNumbers
String toPersianLetter()
将数字字符串转换为其波斯文字等效形式。
String number = "123";
print(number.toPersianLetter()); // 输出: یکصد و بیست و سه
String toToman()
将数字字符串转换为带有 “تومان” 的波斯文字。
String number = "12345";
print(number.toToman()); // 输出: دوازده هزار و سیصد و چهل و پنج تومان
String toRial()
将数字字符串转换为带有 “ریال” 的波斯文字。
String number = "12345";
print(number.toRial()); // 输出: دوازده هزار و سیصد و چهل و پنج ریال
String formatWithCommas()
将数字字符串用逗号格式化。
String number = "1234567";
print(number.formatWithCommas()); // 输出: 1,234,567
String toPersianNumber()
将数字字符串转换为波斯数字。
String number = "1234567";
print(number.toPersianNumber()); // 输出: ۱۲۳۴۵۶۷
Extensions on int
String toPersianLetter()
将整数转换为其波斯文字等效形式。
int number = 123;
print(number.toPersianLetter()); // 输出: یکصد و بیست و سه
String toToman()
将整数转换为带有 “تومان” 的波斯文字。
int number = 12345;
print(number.toToman()); // 输出: دوازده هزار و سیصد و چهل و پنج تومان
String toRial()
将整数转换为带有 “ریال” 的波斯文字。
int number = 12345;
print(number.toRial()); // 输出: دوازده هزار و سیصد و چهل و پنج ریال
String toPersianNumberInt()
将整数转换为波斯数字。
int number = 1234567;
print(number.toPersianNumberInt()); // 输出: ۱۲۳۴۵۶۷
String formatWithCommas()
将整数用逗号格式化。
int number = 1234567;
print(number.formatWithCommas()); // 输出: 1,234,567
String rialToToman()
将整数从里亚尔转换为土曼。
int rial = 1234567;
print(rial.rialToToman()); // 输出: 123456
String tomanToRial()
将整数从土曼转换为里亚尔。
int toman = 123456;
print(toman.tomanToRial()); // 输出: 1234560
更多关于Flutter数字转波斯文插件num2persian的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter数字转波斯文插件num2persian的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
num2persian
是一个用于将数字转换为波斯语(Farsi)表示的 Flutter 插件。它可以将阿拉伯数字(如 123)转换为波斯数字(如 ۱۲۳),或者将数字转换为波斯语的文字表示(如 “صد و بیست و سه”)。以下是如何在 Flutter 项目中使用 num2persian
插件的步骤。
1. 添加依赖
首先,你需要在 pubspec.yaml
文件中添加 num2persian
插件的依赖:
dependencies:
flutter:
sdk: flutter
num2persian: ^1.0.0 # 请确保使用最新版本
然后运行 flutter pub get
来安装依赖。
2. 导入包
在你的 Dart 文件中导入 num2persian
包:
import 'package:num2persian/num2persian.dart';
3. 使用 num2persian
插件
num2persian
插件提供了以下功能:
- 将阿拉伯数字转换为波斯数字。
- 将数字转换为波斯语的文字表示。
示例 1: 将阿拉伯数字转换为波斯数字
void main() {
int number = 12345;
String persianNumber = number.toPersianNumber();
print(persianNumber); // 输出: ۱۲۳۴۵
}
示例 2: 将数字转换为波斯语的文字表示
void main() {
int number = 123;
String persianWords = number.toPersianWord();
print(persianWords); // 输出: "صد و بیست و سه"
}
示例 3: 处理浮点数
void main() {
double number = 123.45;
String persianNumber = number.toPersianNumber();
print(persianNumber); // 输出: ۱۲۳.۴۵
String persianWords = number.toPersianWord();
print(persianWords); // 输出: "صد و بیست و سه ممیز چهل و پنج"
}
4. 自定义选项
num2persian
还提供了一些自定义选项,比如控制是否使用逗号分隔符等。
示例 4: 使用逗号分隔符
void main() {
int number = 1234567;
String persianNumber = number.toPersianNumber(useSeparator: true);
print(persianNumber); // 输出: ۱،۲۳۴،۵۶۷
}
5. 完整示例
以下是一个完整的 Flutter 应用示例,展示如何在应用中显示转换后的波斯数字和文字:
import 'package:flutter/material.dart';
import 'package:num2persian/num2persian.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('num2persian Example'),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(
'Number: 12345',
style: TextStyle(fontSize: 24),
),
Text(
'Persian Number: ${12345.toPersianNumber()}',
style: TextStyle(fontSize: 24),
),
Text(
'Persian Words: ${12345.toPersianWord()}',
style: TextStyle(fontSize: 24),
),
],
),
),
),
);
}
}