Случай немного сложнее, если множественное число меньше 1. Я написал эту общую функцию:
public float NearestRound(float x, float delX)
{
if (delX < 1)
{
float i = (float)Math.Floor(x);
float x2 = i;
while ((x2 += delX) < x) ;
float x1 = x2 - delX;
return (Math.Abs(x - x1) < Math.Abs(x - x2)) ? x1 : x2;
}
else {
return (float)Math.Round(x / delX, MidpointRounding.AwayFromZero) * delX;
}
}
/* Sample:
x: 101 multiple:2 NearestRound -> 102
x: 107 multiple:2 NearestRound -> 108
x: 100.9 multiple:2 NearestRound -> 100
x: 1 multiple:0.25 NearestRound -> 1
x: 1.35 multiple:0.25 NearestRound -> 1.25
x: 1.77 multiple:0.25 NearestRound -> 1.75
x: 1.9 multiple:0.25 NearestRound -> 2 */
inputTextAreas.forEach(input => {
let inputValue = input.value;
input.classList.remove("error");
if(input.name == 'question1' || input.name == 'question2' || input.name == 'question3' || input.name == 'question5' || input.name == 'question6' || input.name == 'question7' || input.name == 'question8') {
if (input.value.length < 10 || input.value.length > 140) {
$self.outputInputError(input,inputTextAreasErrors.input.name);
}
} else{
if (questionFourWordCount.length < 2 || questionFourWordCount.length > 7) {
$self.outputInputError(input,inputTextAreasErrors.input.name);
}
}
});
Я думаю, что подойдет. Я также изменил имя динамически. Дайте мне знать, если это работает или нет. Там не так много информации об этом коде. Спасибо.