Genkendelse af heltal
Jeg har en større funktion, hvor jeg har brug for at inputtet er et decimaltal (tal). Funktionen skiller efterfølgende tallet ad i heltal og decimaltal. Variablen tal er et tal-input, der oftest er et decimaltal, men det hænder at tallet er hel, f.eks. "4". Min første ide var at køre en if(tal.indexOf(".") < 1), men det gav en fejlmeddelse. Nu er så spørgsmålet hvad der skal stå i parentesen i stedet for de 2 spørgsmålstegn, for at den reagerer enten på at det er et heltal, antallet af cifre, mangel på "." eller whatever.Her er funktionen:
function beregnTid(tal) {
if ( ?? ) {
tal = tal + '.0';
}
str = tal.toString();
str = str.replace(/\,/g,".");
var test = str.match(/\d+\.\d+/);
if (test) {
var arr = str.split(".");
var min = parseFloat("0."+arr[1])*0.6;
min = min.toString().substr(2,2)+"."+min.toString().charAt(5);
min = Math.round(min);
if (isNaN(min)) {
min = 0;
}
if (min == 3) {
min = 30;
}
var time = +arr[0];
var timeStr = (time > 1 || time == 0) ? time+" timer " : (time == 1) ? time + " time " :"";
var minStr = (min > 1 || min == 0) ? min+" minutter" : min + " minut";
timer.value = timeStr;
timer.value = timeStr; // timer-output
minutter.value = minStr; // minut-output
}
else return "";
}
