javascript - Como verificar se um valor desconhecido é um número válido?
Dado um valor do tipo unknown e uma configuração que descreve se esse valor deve ser um número inteiro ou ponto flutuante. Eu comecei com esta função
function isValueNumber(value: unknown, isAcceptingFloatingPointNumbers: boolean) {
if (Number.isNaN(value)) {
return false;
}
if (!isAcceptingFloatingPointNumbers) {
return Number.isInteger(value);
}
return true;
}
O problema é que quando eu chamo a função assim
isValueNumber("this is not a valid number", true)
isso ainda retorna true porque minha verificação Number.isNaN não está correta (Número.IsNaN() é mais quebrado que isNaN() ?)
Você tem alguma ideia de como consertar essa função validadora?
Resposta #1
Dessa forma, a função retornará falso se não for um number :
function isValueNumber(value: unknown, isAcceptingFloatingPointNumbers: boolean) {
if (typeof value !== 'number') {
return false;
}
if (!isAcceptingFloatingPointNumbers) {
return Number.isInteger(value);
}
return true;
}
