Как вы проверяете число, чтобы убедиться, что оно попадает на правильный шаг? Я знаю, что это можно сделать с помощью HTML с атрибутом step . Как это сделать, используя только JavaScript для проверки интервалов шагов. Вот мой сценарий, и он работает большую часть времени. Я сделал тот же сценарий в PHP, и у меня нет никаких проблем.
Насколько я понимаю, JavaScript имеет математические проблемы, когда вы работаете с десятичными числами, и может привести к тому, что число будет неточным, и в этом Ситуация Мне нужна математика для возврата с точными правильными числами, так как математическая формула, которую я использую, определяет, допустимы ли интервалы шагов в зависимости от погоды, математика возвращает целое число или число с плавающей запятой.
input HTML tag имеет встроенную проверку шага, и, например, -44,667 - допустимый интервал шага.
Есть ли лучший способ сделать это в JS и PHP?
<input type="number" min="-45" step="0.333" value="-45">
<script>
var number = -44.667
var step = 0.333;
var min = -45;
//Detects if min is 0 or less
if (min <= 0) {
var stepNumber = number + Math.abs(min);
}
else {
var stepNumber = number - min;
}
//This will see if the steps intervals are valid in the number. If stepMultiplier is a integer number, it is valid. If it is a float number, it is not valid.
var stepMultiplier = stepNumber / step;
//Detect if the number is a float number
if (stepMultiplier % 1 !== 0) {
console.error('Step invalid');
}
</script>