si
(anteriorNum == "." && currentNum == ".") { screen.value = screen.value.substring(0, numchar - 1);
Estás usando javascript. puedes dividirlo en "." luego cuente la longitud de la matriz que debe ser 2 o menos.
var x = '12.34.56'; var arr = x.split(".") var number_of_dots = arr.length - 1 console.log(number_of_dots)Creo que puedes verificar si el número es entero o flotante con esta función de muestra
function isFloat(n){ return Number(n) === n && n % 1 !== 0; } function isInt(n) { return n % 1 === 0; }y escriba catch, por lo que si tuvo un error, el número ingresado no es válido para su calculadora