在我的购物应用程序中,我想以两种格式显示商品的价格。以我国家的货币表示的匈牙利福林(HUF),我们不使用小数。



另一个是欧元,我们在小数点后写两位数字。即使是00,这两个数字也始终存在。



我知道如何使用double.toStringAsFixed()方法设置最大位数,但没有找到相反设置的解决方案。 Dart API中是否有解决我问题的任何方法,还是我需要找到一种替代方法来解决此问题?

最佳答案

您可以使用数字格式定义货币,如下所示:

import 'package:intl/intl.dart';

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

void main () {

  print("Eg. 1: ${oCcy.format(123456789.75)}");
  print("Eg. 2: ${oCcy.format(.7)}");
  print("Eg. 3: ${oCcy.format(12345678975/100)}");
  print("Eg. 4: ${oCcy.format(int.parse('12345678975')/100)}");
  print("Eg. 5: ${oCcy.format(double.parse('123456789.75'))}");
}

关于dart - 如何设置Dart小数点后的最小位数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53870255/

10-10 04:06