在我的购物应用程序中,我想以两种格式显示商品的价格。以我国家的货币表示的匈牙利福林(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/