Flutter工具集插件gb_flutils的使用
Flutter工具集插件gb_flutils的使用
本包提供了字符串处理、数字格式化和数据转换的实用函数。这些实用函数被分组为三个不同的文件:
string_number_utils.dart
string_utils.dart
transformations_utils.dart
string_number_utils.dart
doubleStringWithoutTrailingZeros
/// 给定一个数字字符串,此函数仅在包含小数时才显示小数。
/// 例如:
/// - `0.012` => `0.012`
/// - `3.2` => `3.2`
/// - `2.0` => `2`
String doubleStringWithoutTrailingZeros(String? doubleString)
numberToRoundedValue
/// 给定一个对象,此函数尝试将其解析为double并四舍五入,返回一个字符串。
/// 它还提供了一个回退函数 `[orElse]`,如果处理的值不是一个有效的数字,则使用该函数。
/// 如果没有提供回退函数,默认返回 `0`。
String numberToRoundedValue(dynamic number, {String Function(dynamic)? orElse})
formattedPrice
/// 返回表示带有货币格式的价格的字符串。
/// 可以提供自定义的 `[symbol]` 替换默认货币符号。
String formattedPrice(double? price, [String? symbol])
isStrNil
/// 检查给定的字符串是否为空或null。
bool isStrNil(String? string)
string_utils.dart
convertToTitleCase
/// 返回给定字符串的大写形式。
/// 它将每个单词的首字母大写。
String convertToTitleCase(String text)
StringUtilsExtension
/// `String` 类的一个扩展方法,返回给定字符串的大写形式。
extension StringUtilsExtension on String {
String toTitleCase()
}
transformations_utils.dart
pairedListToMap
/// 给定一个顺序配对的数组项,此函数将其转换为映射。
/// 例如:
/// - `["key1", "value1", "key2", "value2"]` -> `{"key1": "value1", "key2": "value2"}`
Map pairedListToMap(List list)
mapToPairedList
/// 给定一个映射,此函数将其转换为顺序配对的数组项。
/// 例如:
/// - `{"key1": "value1", "key2": "value2"}` -> `["key1", "value1", "key2", "value2"]`
List mapToPairedList(Map map)
modifyPairedListAsMap
/// 此函数允许你将顺序配对的数组项作为映射进行修改,并以数组形式返回结果。
/// 有关更多详细信息,请参阅 `[pairedListToMap]`。
List modifyPairedListAsMap(
List list, Map Function(Map) transformer)
完整示例Demo
下面是一个完整的示例,展示了如何使用 gb_flutils
包中的功能。
import 'package:flutter/material.dart';
import 'package:gb_flutils/gb_flutils.dart'; // 导入 gb_flutils 包
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: Text('gb_flutils 使用示例')),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(
'Double without trailing zeros: ${doubleStringWithoutTrailingZeros("3.00")}',
style: TextStyle(fontSize: 18),
),
SizedBox(height: 20),
Text(
'Rounded value: ${numberToRoundedValue(3.14159)}',
style: TextStyle(fontSize: 18),
),
SizedBox(height: 20),
Text(
'Formatted Price: ${formattedPrice(123.456, "\$")}',
style: TextStyle(fontSize: 18),
),
SizedBox(height: 20),
Text(
'Is Str Nil: ${isStrNil("") ? "True" : "False"}',
style: TextStyle(fontSize: 18),
),
SizedBox(height: 20),
Text(
'Convert To Title Case: ${convertToTitleCase("hello world")}',
style: TextStyle(fontSize: 18),
),
SizedBox(height: 20),
Text(
'Paired List To Map: ${pairedListToMap(["key1", "value1", "key2", "value2"])}',
style: TextStyle(fontSize: 18),
),
SizedBox(height: 20),
Text(
'Map To Paired List: ${mapToPairedList({"key1": "value1", "key2": "value2"})}',
style: TextStyle(fontSize: 18),
),
],
),
),
),
);
}
}
更多关于Flutter工具集插件gb_flutils的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
1 回复