我试图从一个双变量中获得一个格式化的字符串,它将包含数千个分隔符(",")AND将总是在小数点后包含2位数字(即使它是零)。
我已经成功地分别实现了这两个目标,但不能将它们结合在一起。
我想要达到的目标:
100 => "100.00"
100.5 => "100.50"
1000 = "1,000.00"
1000.5 = > "1,000.50"
1000000 => "1,000,000.00"
1000000.53 => 1,000,000.53
etc...
我已经尝试使用:
NumberFormat.decimalPattern('en').format(
double.parse(
myDoubleVar.toStringAsFixed(2),
),
);
但是如果小数点为零,它不会给出小数点。
有人知道我怎么才能做到这一点吗?
谢谢
试试这个
double amount = 1000000;
NumberFormat numberFormat = NumberFormat("#,##0.00", "en_US");
print('${(numberFormat.format(amount))}');
输出:1000000
这里我是这样使用的。
void main() {
num balance = 120000;
print("$${balance.toStringAsFixed(2).replaceAllMapped(RegExp(r'(d{1,3})(?=(d{3})+(?!d))'), (Match m) => "${m[1]},") }");
}