如何在 Dart
中创建将大数转换为带字符的短数的函数?
喜欢
1000 => 1K
10000 => 10K
1000000 => 1M
10000000 => 10M
1000000000 => 1B
最佳答案
Dart中有一个内置函数可以使用,而且很简单:
var f = NumberFormat.compact(locale: "en_IN");
print(f.format(12345));
让它成为一个方法:
getShortForm(var number) {
var f = NumberFormat.compact(locale: "en_US");
return f.format(number);
}
为此导入
import 'package:intl/intl.dart';
有关更多信息,请参阅此文档 https://pub.dev/documentation/intl/latest/intl/NumberFormat-class.html
如果你正在寻找困难的方法:
getShortForm(int number) {
var shortForm = "";
if (number != null) {
if (number < 1000) {
shortForm = number.toString();
} else if (number >= 1000 && number < 1000000) {
shortForm = (number / 1000).toStringAsFixed(1) + "K";
} else if (number >= 1000000 && number < 1000000000) {
shortForm = (number / 1000000).toStringAsFixed(1) + "M";
} else if (number >= 1000000000 && number < 1000000000000) {
shortForm = (number / 1000000000).toStringAsFixed(1) + "B";
}
}
return shortForm;
}
关于dart - 如何转换大数以缩短 Dart 中的 K/M/B,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52661247/