Прохожу в книге тему "математические операторы". Делаю всё подряд, что написано.
Наткнулся на ситуацию, когда преобразование в целое число не сработало, если оператор преобразования (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).
Я так понял, что остаток выводят в случае необходимости получения в результате деления целого числа, а не вещественного.
1. Oleh - 09 Августа, 2011 - 01:54:52 - перейти к сообщению
2. Ezi - 09 Августа, 2011 - 02:28:46 - перейти к сообщению
эм... Остаток это, как бы верно выразиться, число оставшееся при делении, покажу на примере, 10/2=5 10%2=0 10/3=3.33... 10%3=1 не обязательно чтобы получить остаток должно второе число быть в периоде, вообщем если не поняли вспомните 3й класс когда делили столбиком
3. iflight - 09 Августа, 2011 - 16:02:29 - перейти к сообщению
Oleh А вы скобки не пробовали юзать? Приоритет операций то учитывайте
Смотрите:
сначала приводите к целому, потом складываете 5+3, создается впечатление что сначала складывается 5.3+3, затем приводится к целому.
Смотрите:
сначала приводите к целому, потом складываете 5+3, создается впечатление что сначала складывается 5.3+3, затем приводится к целому.
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- $j1=5;
- $j2=2.7;
- $j3=(int)$j1-$j2;
- $j4=(int)$j3;
- print $j3."<br>";
- print $j4."<p>";
Вы приводите к целому $j1, а затем вычитаете из него дробное число...