Как пояснялось выше, значения типа int автоматически преобразуются, если требуется, в значения типа double. С другой стороны, в ряде ситуаций числовое значение типа double должно рассматриваться как целое. Преобразования числовых типов в Java возможны, но они могут, конечно, сопровождаться потерей данных. Такие преобразования называются приведением типов. Синтаксически приведение типов задается парой скобок, в которых указывается желательный тип, а затем имя переменной:
double х = 9.997; int nx = (int)x;
В результате приведения к целому типу числового значения с плавающей точкой в переменной х значение переменной пх становится равным 9, поскольку дробная часть числа при этом отбрасывается. Если же требуется округлить число с плавающей точкой до ближайшего целого числа (что во многих случаях намного полезнее), то для этой цели служит метод Math. round (), как показано ниже.
double х = 9.997;
int nx = (int)Math.round(х);
Теперь значение переменной nx становится равным 10. При вызове метода round () по-прежнему требуется выполнять приведение типов (int). Дело в том, что значение, возвращаемое методом round (), относится к типу long, и поэтому оно может быть присвоено переменной типа int только с явным приведением. Иначе существует вероятность потери данных.
ВНИМАНИЕ! При попытке приведения типов результат может выйти за пределы диапазона допу-стимых значений. И в этом случае произойдет усечение. Например, при вычислении выражения (byte) 300 получается значение 44.
Если вас интересует продукция полимерного сырьевого рынка, тогда посмотрите на сайте http://pro-ptr.ru/ pp в Москве.
НА ЗАМЕТКУ С++! Приведение логических значений к целым и наоборот невозможно. Такое у^Ш ограничение предотвращает появление ошибок. В тех редких случаях, когда действительно требуется представить логическое значение в виде целого, можно составить условное выражение вроде b ? 1 : 0. |