Этот пример доступен как пресет с запятой: 1,5; 2,5; 2,5; 4,0. Выбор запятой сообщает парсеру, что точки с запятой разделяют значения, а запятые входят в числа. Математически эквивалентный ввод с точкой: 1.5, 2.5, 2.5, 4.0.

Нормализуйте запись, а не смысл

SetStats хранит эти числа в общем масштабе: 15, 25, 25 и 40, делённые на 10. Конечный ноль в 4.0 меняет запись, но не значение. Записи 2.5 и 2.50 считаются одной модой. Единицы не распознаются и не переводятся, поэтому перед вставкой все числа должны быть приведены к одной совместимой единице.

Среднее 2.625 и медиана 2.5

Точная сумма равна 10.5, количество — 4, поэтому среднее 10.5÷4 = 2.625, сокращённая дробь 21/8. После сортировки два центральных значения равны 2.5 и 2.5; их среднее 2.5, это и есть медиана. Число 2.5 встречается дважды и является единственной модой с частотой 2.

Границы 1.5 и 4 дают размах 2.5

Отсортированный список: 1.5, 2.5, 2.5, 4. Минимум 1.5, максимум 4, поэтому размах точно равен 4−1.5 = 2.5. Размах сообщает только расстояние между границами и ничего не говорит о распределении внутри. При проверке сохраняйте сортировку и количество: разные списки могут иметь одинаковый размах, среднее или медиану.