1)Пример 1

		double a = -10;
		double b = 15.58;
		System.out.println(a*b); //будет -155.8

2)Пример 2

		double a = -10;
		double b = 15.589;
		System.out.println(a*b); //-155.89000000000001

//Округлить до 3 знаков после запятой:

	System.out.println(((double)Math.round(a*b * 1000)  ) / 1000); //будет -155.89

3)Пример 3

При делении на 0 в отличии от int  появляются Infinity

		System.out.println(7.0/0); //Infinity
		System.out.println(-7.0/0); //-Infinity

Проверкой чтобы не возникала подобная ситуация занимается метод isInfinite

		if (Double.isInfinite(-7.0/0)) {
			System.out.println("Деление на 0");
		}

Также есть методы:POSITIVE_INFINITY — деление положительного числа на 0 и NEGATIVE_INFINITY — деление отрицательного числа на 0.

		if (Double.POSITIVE_INFINITY == 7.0/0) {
			System.out.println("Деление положительного числа на 0");
		}
		if (Double.NEGATIVE_INFINITY ==-7.0/0) {
			System.out.println("Деление отрицательного числа на 0");
		}

Также есть неопределенность, 0.0 /0. Для её проверки существует метод isNaN

		if (Double.isNaN(0.0/0)) {
			System.out.println("Неопределенность, 0.0/0");
		}
Реклама