我希望使用Dart消除尾随零点的最佳解决方案。如果我有一个双,等于12.0,它应该输出12。如果我有一个双,即12.5,它应该输出12.5
发布于 2019-03-14 23:55:43
我为这个特性创建了正则表达式模式。
double num = 12.50; // 12.5
double num2 = 12.0; // 12
double num3 = 1000; // 1000
RegExp regex = RegExp(r'([.]*0)(?!.*\d)');
String s = num.toString().replaceAll(regex, '');发布于 2019-03-14 17:41:24
更新
一个更好的方法,只需使用以下方法:
String removeDecimalZeroFormat(double n) {
return n.toStringAsFixed(n.truncateToDouble() == n ? 0 : 1);
}年长的
这符合以下要求:
双x= 12.0;
双y= 12.5;
打印(x.toString().replaceAll(RegExp(r‘.0’),''));
打印(y.toString().replaceAll(RegExp(r‘.0’),''));
X产出: 12
Y产出: 12.5
发布于 2019-09-01 19:36:43
使用NumberFormat:
String formatQuantity(double v) {
if (v == null) return '';
NumberFormat formatter = NumberFormat();
formatter.minimumFractionDigits = 0;
formatter.maximumFractionDigits = 2;
return formatter.format(v);
}https://stackoverflow.com/questions/55152175
复制相似问题