Dart或Flutter | Dart实例:用不同地区的货币格式来格式化数字

956 阅读1分钟

在Dart中,你有一个NumberFormat类,可以用不同地区的货币格式来格式化数字。

例如,如果一个给定的数字是100000,一些国家允许你将数字格式化为100,000和100,000.00。

Dart NumberFormat例子

Numberformatintl包中的一个类。

首先,将依赖关系定义在pubspec.yaml

dev_dependencies:
    intl: any

接下来,在终端中使用dart pub get 命令安装依赖关系,或者在Visual studio终端中自动下载。

intl.dart 软件包提供了NumberFormat类,该类可以按照当地语言格式化数字。

首先,创建一个NumberFormat的对象

NumberFormat NumberFormat([String? newPattern, String? locale])

NumberFormat.format()方法按照模式格式化数字。

如何在Dart中用分组分隔符格式化货币的数字?

在本节中,你将按照Locale格式化货币数字。 NumberFormat对象提供了逗号和小数格式的模式。

这里有一个例子程序

import 'package:intl/intl.dart';

final numberFormat = new NumberFormat("##,##0.00", "en_US");

void main() {
  print(numberFormat.format(1000000.10));
}

如何格式化5位小数的数字

这里的numberformat提供了5个零和本地,这里是一个示例程序

import 'package:intl/intl.dart';

final numberFormat = new NumberFormat("#####.000000", "en_US");

void main() {
  print(numberFormat.format(1000000.10));
}

输出

1000000.100000

如何在dart中使货币与数字对齐

NumberFormat.currency()方法接收locale和Symbol字符串并创建实例。

用输入的数字调用format()方法,并根据当前的locale将数字与货币符号对齐。

import 'package:intl/intl.dart';

final numberFormat = NumberFormat.currency(locale: 'en_US', symbol: 'USD');

void main() {
  print(numberFormat.format(3421231));
}

输出

USD3,421,231.00