Числа с плавающей точкой (float)

Тренажер по PHP для пользователей с начальным уровнем подготовки.

Тренажер PHP

В этом тренажере мы познакомимся с числами с плавающей точкой, также известными как float или double. Это тип данных для представления вещественных чисел, то есть чисел с дробной частью. Мы научимся их правильно объявлять, выполнять с ними арифметические операции и разберем некоторые важные нюансы, такие как проблемы точности, которые могут возникнуть при вычислениях.

Задания построены так, чтобы вы постепенно переходили от основ к более сложным концепциям. Вы начнете с простого объявления переменных, затем перейдете к исправлению синтаксических ошибок, предсказанию результатов вычислений, включая те, что используют экспоненциальную нотацию, и научитесь использовать встроенные функции для округления. В конце вас ждет задача на сборку небольшого скрипта, который применяет все полученные знания на практике.

Список тем

Объявление переменной типа float

id: 38913_task_float_1

В PHP числа с плавающей точкой (вещественные числа) записываются с использованием точки в качестве десятичного разделителя. Создайте переменную `$price` и присвойте ей значение `19.99`.

Заполните пропуски
<?php

// Задайте цену товара
input1S = input2S;

echo "Цена: " . $price;
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Исправьте синтаксическую ошибку

id: 38913_task_float_2

В коде допущена распространенная ошибка при записи числа с плавающей точкой. Вместо точки в качестве разделителя используется запятая. Найдите и исправьте эту ошибку, чтобы код выполнился корректно.

Найдите ошибку и исправьте
<?php
$pi_value = 3,14159;
echo "Приблизительное значение Пи: " . $pi_value;
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Результат деления целых чисел

id: 38913_task_float_3

В PHP результат деления двух целых чисел может быть числом с плавающей точкой, если деление происходит не нацело. Предскажите, что выведет данный код, и впишите ответ в поле.

Что должно получиться?
<?php

$items = 10;
$containers = 4;
$items_per_container = $items / $containers;

echo $items_per_container;
Сообщения
Проверить
Показать подсказку

Экспоненциальная запись числа

id: 38913_task_float_4

Числа float можно записывать в научной (экспоненциальной) нотации, используя символ 'e'. Это удобный способ для записи очень больших или очень маленьких чисел. Определите, какое значение будет выведено в результате выполнения кода.

Выберите правильный вариант ответа
<?php

$distance_to_sun = 1.496e8; // в километрах

echo $distance_to_sun;
Сообщения
Проверить
Показать подсказку

Функции округления чисел

id: 38913_task_float_5

В PHP есть несколько встроенных функций для округления чисел с плавающей точкой. Сопоставьте каждую функцию в правой колонке с её описанием в левой колонке.

Сопоставьте строки в правой части с соответствующими строками в левой по порядковому номеру
Округляет до ближайшего целого
Округляет в меньшую сторону до ближайшего целого
Округляет в большую сторону до ближайшего целого
floor()
ceil()
round()
Сообщения
Проверить
Показать подсказку

Приведение типа к float

id: 38913_task_float_6

Иногда нужно явно преобразовать значение другого типа (например, строку) в число с плавающей точкой. Используйте токены из банка, чтобы выполнить явное приведение типа для переменной `$str_number`.

Нужно правильно расставить в пропуски предложенные варианты
<?php

$str_number = "123.45";
$float_number = input1S input2S;

var_dump($float_number);
(string)
(float)
$str_number
(int)
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Опасность сравнения float

id: 38913_task_float_7

Из-за особенностей внутреннего представления чисел с плавающей точкой в двоичной системе, некоторые простые десятичные дроби не могут быть представлены точно. Это может приводить к неожиданным результатам при вычислениях. Предскажите результат `var_dump` для выражения в коде.

Выберите правильный вариант ответа
<?php

$result = (int)((0.1 + 0.7) * 10);
// Ожидаем 8, но так ли это на самом деле?
var_dump($result);
Сообщения
Проверить
Показать подсказку

Классификация числовых типов

id: 38913_task_float_8

PHP довольно гибок в работе с типами данных. Распределите предложенные значения по двум категориям: те, которые PHP будет интерпретировать как `float`, и те, которые будут интерпретированы как `integer` (целое число).

Перетяните элементы в соответствующие блоки
Числа Float
Числа Integer
10.0
42
-5
1e3
0.0
100
-0.1
Сообщения
Проверить
Показать подсказку

Расчет скидки на товар

id: 38913_task_float_9

Соберите из фрагментов кода работающий скрипт. Скрипт должен объявить цену товара и процент скидки, рассчитать итоговую стоимость и вывести ее на экран. Лишние фрагменты использовать не нужно.

Перетяните в правильном порядке строки из одного блока в другой
<?php
$price = 80.0;
$discount_percentage = 15.0;
$discount_amount = $price * ($discount_percentage / 100);
$final_price = $price - $discount_amount;
echo "Итоговая цена: " . $final_price;
$final_price = $price * $discount_percentage;
echo $price;
?>
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку
НайтиКурс.Ру