Дробное число
Вопросы типа decimal позволяют вводить числовые значения с дробной частью в опросе.
Тип вопроса decimal в XLSForm и rtSurvey используется для сбора числовых ответов, которые могут включать дробную часть. Этот тип вопроса необходим для сбора точных числовых данных, таких как измерения, цены или проценты.
Базовая спецификация XLSForm
| type | name | label |
|---|---|---|
| decimal | weight | Введите ваш вес в кг |
Дополнительную информацию о базовом типе вопроса decimal см. в спецификации XLSForm.
Применение
Вопросы типа decimal обычно используются для:
- Измерений (например, вес, рост, расстояние)
- Финансовых данных (например, цены, зарплаты)
- Процентов
- Научного сбора данных
- Любых числовых данных, требующих большей точности, чем целые числа
Лучшие практики
- Используйте чёткие и лаконичные метки, указывая ожидаемые входные данные и единицы измерения.
- Применяйте ограничения диапазона для предотвращения нереалистичного или ошибочного ввода.
- Рассмотрите использование текста подсказки для предоставления примеров или уточнения ожидаемого формата.
- Если важна точность, укажите нужное количество знаков после запятой в метке или подсказке.
Ограничения и валидация
Можно добавить ограничения, чтобы обеспечить попадание введённого значения в определённый диапазон:
| type | name | label | constraint | constraint_message |
|---|---|---|---|---|
| decimal | height | Введите ваш рост в метрах | .>0 and .<=3 | Рост должен быть от 0 до 3 метров |
Пример использования
Ниже приведён пример использования вопросов типа decimal в медицинском опросе:
| type | name | label | constraint | constraint_message |
|---|---|---|---|---|
| decimal | weight | Введите ваш вес в кг | .>0 and .<=500 | Вес должен быть от 0 до 500 кг |
| decimal | height | Введите ваш рост в метрах | .>0 and .<=3 | Рост должен быть от 0 до 3 метров |
| decimal | body_temp | Введите температуру тела в Цельсиях | .>=35 and .<=42 | Температура должна быть от 35°C до 42°C |
| calculate | bmi |
В строке calculate для ИМТ используйте:
calculation | ${weight} / (${height} * ${height})
Это вычислит индекс массы тела по введённым весу и росту.
Расширения rtSurvey
rtSurvey может предлагать дополнительные функции для вопросов типа decimal:
- Контроль точности (количество знаков после запятой)
- Пользовательские форматы ввода (например, проценты, валюта)
- Расширенные правила валидации
Ограничения
- Точность дробных чисел может быть ограничена базовой системой или базой данных.
- Пользователям может потребоваться руководство по ожидаемому разделителю десятичных знаков (точка или запятая) в зависимости от их региональных настроек.
- Большие дробные числа могут быть трудны для чтения или точного ввода на мобильных устройствах.