Неправильные результаты для деления в Java

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

 class Division {public static void main (String args [])  {int я = 37;  int j = 10;  int r = i/j;  System.out.println (r);  }} 

Чтобы получить фактический результат с плавающей запятой

Преобразовать числитель (или знаменатель) в double:

 class Division {public static void main (String args []) {int i = 37;  int j = 10;  двойной г = (двойной) i/j;  System.out.println (r);  }} 

Чтобы получить округленный результат

Следуя тому же подходу, что и выше, преобразуйте полученный double в long с помощью Math.round :

 класс  Разделение {public static void main (String args []) {int i = 37;  int j = 10;  long r = Math.round ((двойной) i/j);  System.out.println (r);  }} 

Оцените статью
nanomode.ru
Добавить комментарий