Прохожу в книге тему "математические операторы". Делаю всё подряд, что написано.
Наткнулся на ситуацию, когда преобразование в целое число не сработало, если оператор преобразования (int) поставить перед операцией вычитания, умножения и деления, а если поставить перед операцией сложения, то работает.
В книге эта ситуация не описана. Вот я и думаю, может это я что-то не так пишу ?
Сложение. Всё работает как я и хотел.
<?
$s1=5.3;
$s2=3;
$s3=(int)$s1+$s2;
print $s3."<p>";
?>
Вычитание, умножение и деление. Приходится сначала присваивать переменным №3 результат соответствующей операции ($j3=$j1-$j2;), а уже потом значения этих переменных №3 преобразовывать (int) и присваивать переменным №4, чтобы выводимый результат округлялся.
<?
$j1=5;
$j2=2.7;
$j3=(int)$j1-$j2;
$j4=(int)$j3;
print $j3."<br>";
print $j4."<p>";
$k1=2;
$k2=2.7;
$k3=(int)$k1*$k2;
$k4=(int)$k3;
print $k3."<br>";
print $k4."<p>";
$d1=5;
$d2=2;
$d3=(int)$d1/$d2;
$d4=(int)$d3;
print $d3."<br>";
print $d4."<br>";
$f=$d1%$d2;
print $f."<p>";
?>
Вообще всё началось с того, что я вывел результат деления (5:2=2.5) и остаток (1).
Я так понял, что остаток выводят в случае необходимости получения в результате деления целого числа, а не вещественного.
|