根据“。”分开双倍。在java中

时间:2014-03-05 12:07:49

标签: java split double

我有一个双号,即“547.123456”

我只想将这个双重用作“547.1”,就像“。”之后只有1个数字一样。

我该怎么做?

5 个答案:

答案 0 :(得分:5)

使用BigDecimal

double f=547.123456;
BigDecimal d=new BigDecimal(f);
System.out.print( d.setScale(1, RoundingMode.FLOOR));

答案 1 :(得分:2)

如果您想要转移一个值,例如

  47.12345 -> 47.1
  47.56789 -> 47.5 // <- not 47.6!

您可以通过 floor

来完成
  double value = 47.123456;
  double result = Math.floor(value * 10.0) / 10.0;

如果您想舍入一个值,例如

  47.12345 -> 47.1
  47.56789 -> 47.6 // <- not 47.5!

你可以通过 round

来完成
  double value = 47.123456;
  double result = Math.round(value * 10.0) / 10.0;

答案 2 :(得分:2)

使用 String.format

String.format("%.1f",547.123456);

这是我认为最简单的方式。

答案 3 :(得分:1)

非常容易:)

double x = 47.123456;
x = (long)(x*10)/(double)10

答案 4 :(得分:1)

对于每个精度都有一个通用的解决方案,您可以像这样指定自己的:

DecimalFormat decimalFormat = new DecimalFormat("#.#");
System.out.println(decimalFormat.format(<your double>));