усечение числа после десятичного числа ... через встроенную функцию в Java - PullRequest
1 голос
/ 22 марта 2010

Я хочу обрезать число после десятичной дроби через встроенную функцию в java (не javascript). например: От 69,80000000001 до 69,8

пожалуйста, руководство.

Ответы [ 2 ]

2 голосов
/ 22 марта 2010

А как насчет десятичного формата класса?

Я не проверял это, но: Хорошо, это должно работать:

import java.text.DecimalFormat;
import java.math.RoundingMode;
public class Test
{
   public static void main(String args[])
   {
        double i = 69.8999999999;
        DecimalFormat format = new DecimalFormat("#.#"); 
        format.setRoundingMode(RoundingMode.FLOOR);
        String s = format.format(i);
        i = Double.parseDouble(s);
        System.out.println(i); //should be 69.8
   }
}
1 голос
/ 22 марта 2010

Вы можете использовать функцию масштабирования BigDecimal:

new BigDecimal(69.80000000001).setScale(1, RoundingMode.HALF_UP).doubleValue();

Это для дальнейшего использования округленного значения. Если вы просто хотите напечатать округленное значение, но держите оригинал, DecimalFormat - правильный выбор, как описано Мэттом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...