首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Dart删除尾随零点

如何使用Dart删除尾随零点
EN

Stack Overflow用户
提问于 2019-03-13 22:34:18
回答 16查看 21.7K关注 0票数 35

我希望使用Dart消除尾随零点的最佳解决方案。如果我有一个双,等于12.0,它应该输出12。如果我有一个双,即12.5,它应该输出12.5

EN

回答 16

Stack Overflow用户

回答已采纳

发布于 2019-03-14 23:55:43

我为这个特性创建了正则表达式模式。

代码语言:javascript
复制
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, '');
票数 46
EN

Stack Overflow用户

发布于 2019-03-14 17:41:24

更新

一个更好的方法,只需使用以下方法:

代码语言:javascript
复制
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

票数 20
EN

Stack Overflow用户

发布于 2019-09-01 19:36:43

使用NumberFormat:

代码语言:javascript
复制
String formatQuantity(double v) {
  if (v == null) return '';

  NumberFormat formatter = NumberFormat();
  formatter.minimumFractionDigits = 0;
  formatter.maximumFractionDigits = 2;
  return formatter.format(v);
}
票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55152175

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档