我有一个双号,即“547.123456”
我只想将这个双重用作“547.1”,就像“。”之后只有1个数字一样。
我该怎么做?
答案 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>));