【问题标题】:Truncation or DecimalFormat in JavaJava 中的截断或十进制格式
【发布时间】:2013-04-12 15:44:00
【问题描述】:

我有这个:

if (inKm) 
{
    text = String.valueOf(MetricConverter.milesToKilometers(Double.valueOf(text)));

}

这会产生一个 JTextField 的结果,这对我来说有点太长了。如何在结果值上截断或使用小数格式?当我在这个表达式中使用十进制格式时,它只是破坏了程序。

【问题讨论】:

标签: java jtextfield truncation


【解决方案1】:

我喜欢用这个,因为它和printf()非常相似

double doubleValue = 123.4567895;
String.format("%.2f", doubleValue); // returns "123.46"

编辑:这不会截断,而是四舍五入。

更多关于如何使用String.format()java.util.Formatter的信息:
http://docs.oracle.com/javase/7/docs/api/java/util/Formatter.html

【讨论】:

  • 啊,好吧。我想把它精确到小数点后一位。
  • 我不是这个意思。这也会破坏程序
  • @RandyB。你在做text = String.format("%.1f", MetricConverter.milesToKilometers(Double.valueOf(text)));吗?或者你得到什么样的错误? NumberFormatException?
  • 当我这样做时,它确实会中断,但它会以某种方式混淆计算。我还不明白为什么
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-04-22
  • 1970-01-01
  • 2014-03-25
  • 2013-12-30
  • 2010-09-23
  • 1970-01-01
  • 2012-09-30
相关资源
最近更新 更多