Estoy tratando de verificar si un número tiene una precisión de 2 decimales. Sé cómo convertir un número a una precisión de 2 decimales como esta:
var myNumber = 2.456; var currentNumber = parseFloat(myNumber); currentNumber = currentNumber.toFixed(2); console.log(currentNumber);entonces si ingreso:
pero, ¿cómo puedo verificar si el resultado de mi código tiene una precisión de 2 decimales? ¡Muchas gracias por adelantado!
Analice el número en una cadena, divídalo por un punto y verifique si la longitud del segundo elemento es 2:
function isPrecise(num){ return String(num).split(".")[1]?.length == 2; } console.log(isPrecise(1.23)) console.log(isPrecise(1.2)) console.log(isPrecise(1)) console.log(isPrecise("1.23")) //works if its a string tooTambién puedes usar una expresión regular:
function isPrecise(num){ return /\d+\.\d{2}/gm.test(String(num)); } console.log(isPrecise(1.23)) console.log(isPrecise(1.2)) console.log(isPrecise("1.23")) //works if its a string too