【问题标题】:Remove trailing zeros in float representation删除浮点表示中的尾随零
【发布时间】:2018-11-15 03:17:35
【问题描述】:

声明这种形式的变量%.2f 我想要的是在小数点后最多有2位数字。

就像现在一样,它只显示了两个,我也想删除尾随的零。

formatString = "< %.2f Km"

我使用formatString 作为 String.format(formatString , value)

在这部分代码中有没有办法做到这一点?

【问题讨论】:

标签: java floating-point numbers representation


【解决方案1】:

这应该适用于您的情况:

double value = 3.502;
String formatString = "< %s Km";
String formattedString = String.format(formatString, new DecimalFormat("#.##").format(value));

How to nicely format floating numbers to String without unnecessary decimal 0? 的副本

【讨论】:

  • 我已经测试过了,它在没有. 的情况下保持整数,它删除了小数点后第一个0 的尾随。我认为这是该问题的完美解决方案。
  • 不使用 String.format 会不会比简单的new DecimalFormat("&lt; #.## Km").format(value) 更简洁?
  • 也许我做错了什么,但就我而言,它仍然在整数后显示一个 0。例如:100 显示为 100.0。如果它们是这样的,我想显示整数。这是我的代码的 sn-p:pastebin.com/RuxZPdDv,第一个是声明的位置,第二个是返回的位置
  • @LeoMessi 如果您使用new DecimalFormat("#.##") 而不是new DecimalFormat(".##"),它也应该适用于整数
猜你喜欢
  • 2017-09-19
  • 2011-05-30
  • 1970-01-01
  • 1970-01-01
  • 2012-01-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多