Целое число
Вопросы типа integer позволяют вводить целые числа в опросе.
Тип вопроса integer в XLSForm и rtSurvey используется для сбора целочисленных ответов. Этот тип вопроса необходим для сбора числовых данных без дробной части, таких как счётчики, возраст или годы.
Базовая спецификация XLSForm
| type | name | label |
|---|---|---|
| integer | age | Введите ваш возраст в годах |
Дополнительную информацию о базовом типе вопроса integer см. в спецификации XLSForm.
Применение
Вопросы типа integer обычно используются для:
- Ввода возраста
- Подсчёта элементов (например, количество детей, членов домохозяйства)
- Ввода года (например, год рождения)
- Оценок по числовой шкале
- Сбора любых целочисленных данных
Расширения rtSurvey
rtSurvey может предлагать дополнительные функции для вопросов типа integer:
- Валидация диапазона
- Пользовательские сообщения об ошибках
- Варианты внешнего вида для ввода чисел
Лучшие практики
- Используйте чёткие и лаконичные метки, указывая ожидаемые входные данные.
- Применяйте ограничения диапазона для предотвращения нереалистичного или ошибочного ввода.
- Рассмотрите использование текста подсказки для предоставления примеров или уточнения ожидаемого формата.
- Для больших чисел рассмотрите использование запятых или пробелов в метке для улучшения читаемости (например, “Введите численность населения (до 1 000 000)”).
Ограничения и валидация
Можно добавить ограничения, чтобы обеспечить попадание введённого значения в определённый диапазон:
| type | name | label | constraint | constraint_message |
|---|---|---|---|---|
| integer | age | Введите ваш возраст в годах | .>0 and .<=120 | Возраст должен быть от 1 до 120 лет |
Пример использования
Ниже приведён пример использования вопросов типа integer в опросе домохозяйства:
| type | name | label | constraint | constraint_message |
|---|---|---|---|---|
| integer | household_size | Сколько людей живёт в вашем домохозяйстве? | .>0 | Размер домохозяйства должен быть не менее 1 |
| integer | num_children | Сколько детей до 18 лет в домохозяйстве? | .>=0 | Количество детей не может быть отрицательным |
| integer | year_built | В каком году был построен ваш дом? | .>1800 and .<=2023 | Год должен быть от 1800 до 2023 |
Вычисления с целочисленными значениями
Целочисленные значения можно использовать в вычислениях. Пример:
| type | name | label |
|---|---|---|
| integer | num_adults | Количество взрослых в домохозяйстве |
| integer | num_children | Количество детей в домохозяйстве |
| calculate | total_members |
В строке calculate используйте:
calculation | ${num_adults} + ${num_children}
Это вычислит суммарное количество членов домохозяйства.