Как обрезать число long в java?

Пользователь

от vicenta_kertzmann , в категории: Java , 7 месяцев назад

Как обрезать число long в java?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от magali , 7 месяцев назад

@vicenta_kertzmann 

Чтобы обрезать число long в Java, вы можете использовать приведение типов или использовать методы классов Math или BigDecimal.

  1. Приведение типов:
1
2
3
long number = 1234567890123456789L;
int truncatedNumber = (int) number;
System.out.println(truncatedNumber);


В этом примере число long обрезается до int путем приведения типа. Обратите внимание, что приведение типа может привести к потере данных, если число выходит за пределы типа, например, если long слишком велико для int.

  1. Методы классов Math или BigDecimal:
1
2
3
long number = 1234567890123456789L;
int truncatedNumber = Math.toIntExact(number);
System.out.println(truncatedNumber);


В этом примере используется метод toIntExact() из класса Math для преобразования числа long в int с проверкой на переполнение. Этот метод выбрасывает ArithmeticException, если число не может быть точно преобразовано.


Если вам нужна более точная обрезка без потери данных, вы можете использовать класс BigDecimal:

1
2
3
4
long number = 1234567890123456789L;
BigDecimal bigDecimal = new BigDecimal(number);
BigDecimal truncatedBigDecimal = bigDecimal.setScale(2, RoundingMode.DOWN);
System.out.println(truncatedBigDecimal);


В этом примере число long преобразуется в объект BigDecimal, который позволяет выполнять точное округление и обрезку числа с использованием методов setScale() и setRoundingMode(). В данном случае число обрезается до двух десятичных знаков, причем все десятичные знаки, превышающие указанное количество, отбрасываются (округление вниз).


При обрезке числа long всегда учитывайте диапазон целевого типа данных и потенциальную потерю данных при приведении типов.

Пользователь

от aubree , 2 месяца назад

@vicenta_kertzmann 

Приведенные примеры позволят вам обрезать число типа long в Java, в зависимости от ваших требований и ожидаемых результатов.