2014-10-26 3 views
0

Как объединить число в Java? Например, у меня есть этот номер 3.4666666666663, и я хотел бы округлить его до ближайшего плавающего числа, которое равно 3,5. Я не хочу, чтобы округлить до 4Круглый номер в Java

+0

Когда вы говорите «это число», что это начать? «Поплавок»? «Двойной»? «BigDecimal»? – fge

+4

Я считаю, что ваше определение _nearest floating number_ не принято. – Keppil

+0

@ Keppil в основном я хочу округлить число до следующего плавающего числа с 1 номером после., Например '2.444424' до '2.5', '5.66764' до '5.7' –

ответ

-1

Почему вы не умножить на 10, круглый, что вверх, а затем разделите на 10.

3

У вас есть несколько вариантов, вы можете использовать DecimalFormat или BigDecimal или даже String.format() как

double v = 3.4666666666663; 
NumberFormat nf = new DecimalFormat("#.0"); 
System.out.println(nf.format(v)); 
MathContext mc = new MathContext(2); 
System.out.println(BigDecimal.valueOf(v).round(mc)); 
System.out.printf("%.1f%n", v); 

Выход

3.5 
3.5 
3.5 
+0

Следует упомянуть, что первый и третий методы используют определенный десятичный разделитель. – ifloop

Смежные вопросы