【问题标题】:How to display two decimal values in Dart/Flutter?如何在 Dart/Flutter 中显示两个十进制值?
【发布时间】:2020-04-25 00:28:31
【问题描述】:

我在下面有一个简单的程序。输出为 64.5,它只显示一个十进制值,但我希望它显示最后两个十进制值。

例如。您的零钱是 64.50 美元

如何在 dart/flutter 中实现这一点?

void main() {

  double money = 80.00;
  double price = 15.50;

  double change = money - price;

  print('Your change is $change USD');
}

【问题讨论】:

  • 顺便说一句,我强烈建议您不要将货币存储为double。最好将美分的数量(或任何最小的不可分割的货币单位)存储为int,然后在最后以更友好的格式打印出来。如果你使用double,你会发现$0.10 + $0.10 + $0.10 不是$0.30,因为floating point error

标签: flutter dart


【解决方案1】:

试试这个:

void main() {

  double money = 80.00;
  double price = 15.50;

  double change = money - price;

  print('Your change is ${change.toStringAsFixed(2)} USD');
}

check here

【讨论】:

    【解决方案2】:

    我会使用intl package from google

    var formatter = new NumberFormat.currency(locale: "en_US", symbol: "$");
    print('Your change is {formatter.format(change)} USD');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-08-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-15
      • 1970-01-01
      • 2022-11-17
      相关资源
      最近更新 更多