Пишу бота для участия в аукционах, алгоритм расчета шагов и цен готов, но я боюсь, что при каких-то уникальных обстоятельствах мой алгоритм может глюкануть и на выходе выдать какую-нибудь аброкадабру или цену ниже цены отсечки.
Собственно, перед тем как ботом подавать свою цену, я хочу эту цену проверять на корректность. Каким образом я могу убедится со 100% гарантией, что в переменной точно лежит число и это число больше некой заранее заданной суммы?
Понимайте в чем проблема, если в переменную попадает какой-нибудь Infinity, NaN, Undefined или окажется, что цена ниже той, что задана как цена отсечки, то не сносить мне головы, поэтому я просто обязан перестраховаться по максимуму.
Мой вариант проверки:
price = 13799.12; // Цена для подачи предложения в аукцион
min_price = 10000; // Цена ниже которой нельзя отпускаться
// Проверяем, что это вообще число, а не какой-нибудь undefined:
if (typeof price == 'number') {
// Проверяем, что число конечное и не является бесконкечностью:
if (isFinite(price)) {
// Проверяем, что число не ялвяется NaN:
if (!isNaN(price)) {
console.log('Переменная price имеет тип number и при этом не является Infinty или NaN');
if (price >= min_price) {
console.log('Значение переменной price равно или выше цены отсчеки, все в порядке');
}
}
}
}
Но я боюсь, что я что-то пропустил или чего-то не учел, что стоило бы предусмотреть. Подскажите, пожалуйста, что я еще должен проверить, чтобы получить железобетонную 137% уверенность, что с передаваемой ценой все в порядке?