3
Hello.
I am encountering a problem when executing this formula as the final answer is given as Nan.
In a simplified way to explain the code, it works like this: there are two groups of three variables, and depending on the value you assign to each of them, it is worth a certain amount of points. For example, if the number 89 is assigned to the variable (NUMERO2), its equivalent in the other group, the variable (BPM_TRUE) will be equal to 3 points. At the end, the three main variables are multiplied and summed from a specific formula, resulting in the value of (RTS_TRUE).
Can anyone understand what’s going on? I’ve tried to switch to float, but without success.
<body>
<script type="text/javascript">
// <![CDATA[
/* Calculadora RTS Ivana Mendonca */
var ECG_TRUE;
var NUMERO1;
if (NUMERO1 == '15' || NUMERO1 == '14' || NUMERO1 == '13') {
ECG_TRUE = 4
} else
if (NUMERO1 == '09' || NUMERO1 == '10' || NUMERO1 == '11' || NUMERO1 == '12') {
ECG_TRUE = 3
} else
if (NUMERO1 == '06' || NUMERO1 == '07' || NUMERO1 == '08') {
ECG_TRUE = 2
} else
if (NUMERO1 == '04' || NUMERO1 == '05') {
ECG_TRUE = 1
} else
if (NUMERO1 == '00') {
ECG_TRUE = 0
}
var BPM_TRUE;
var NUMERO2;
if (NUMERO2 > '89') {
BPM_TRUE = 4
} else
if (NUMERO2 == '89' || NUMERO2 == '88' || NUMERO2 == '87' || NUMERO2 == '86' || NUMERO2 == '85' || NUMERO2 == '84' || NUMERO2 == '83' || NUMERO2 == '82' || NUMERO2 == '81' || NUMERO2 == '80' || NUMERO2 == '79' || NUMERO2 == '78' || NUMERO2 == '77' || NUMERO2 == '76') {
BPM_TRUE = 3
} else
if (NUMERO2 == '75' || NUMERO2 == '74' || NUMERO2 == '73' || NUMERO2 == '72' || NUMERO2 == '71' || NUMERO2 == '70' || NUMERO2 == '69' || NUMERO2 == '68' || NUMERO2 == '67' || NUMERO2 == '66' || NUMERO2 == '65' || NUMERO2 == '64' || NUMERO2 == '63' || NUMERO2 == '62' || NUMERO2 == '61' || NUMERO2 == '60' || NUMERO2 == '59' || NUMERO2 == '58' || NUMERO2 == '57' || NUMERO2 == '56' || NUMERO2 == '55' || NUMERO2 == '54' || NUMERO2 == '53' || NUMERO2 == '52' || NUMERO2 == '51' || NUMERO2 == '50') {
BPM_TRUE = 2
} else
if (NUMERO2 <= '49' && NUMERO2 != '00') {
BPM_TRUE = 1
} else
if (NUMERO2 == '00') {
BPM_TRUE = 0
}
var FR_TRUE;
var NUMERO3;
if (NUMERO3 == '10' || NUMERO3 == '11' || NUMERO3 == '12' || NUMERO3 == '13' || NUMERO3 == '14' || NUMERO3 == '15' || NUMERO3 == '16' || NUMERO3 == '17' || NUMERO3 == '18' || NUMERO3 == '19' || NUMERO3 == '20' || NUMERO3 == '21' || NUMERO3 == '22' || NUMERO3 == '23' || NUMERO3 == '24' || NUMERO3 == '25' || NUMERO3 == '26' || NUMERO3 == '27' || NUMERO3 == '28' || NUMERO3 == '29') {
FR_TRUE = 4
} else
if (NUMERO3 > '29') {
FR_TRUE = 3
} else
if (NUMERO3 == '06' || NUMERO3 == '07' || NUMERO3 == '08' || NUMERO3 == '09') {
FR_TRUE = 2
} else
if (NUMERO3 == '01' || NUMERO3 == '02' || NUMERO3 == '03' || NUMERO3 == '04' || NUMERO3 == '05') {
FR_TRUE = 1
}
if (NUMERO3 == '00') {
FR_TRUE = 0
}
var RTS_TRUE;
NUMERO1 = prompt('ECG:', 'Digite aqui');
NUMERO2 = prompt('BPM:', 'Digite aqui');
NUMERO3 = prompt('FR:', 'Digite aqui');
RTS_TRUE = parseInt(ECG_TRUE) * 0, 9368 + parseInt(BPM_TRUE) * 0, 7326 + parseInt(FR_TRUE) * 0, 2908;
document.write('O resultado equivale a: ', RTS_TRUE);
// ]]>
</script>
</body>
Put initial values on all variables:
var ECG_TRUE = 0;
and the others too.. It’s giving Nan because these variables are coming up empty in the final sum.– Sam
It is running perfectly, as long as the user type one of the predefined falores in if Else. For example, (NUMERO1) has possibilities from 0 to 15 already defined, but if the user type 16 the final answer will be Nan. The problem is then in setting the limits.
– R. Andrade
The value cannot be left blank or return 0 to the sum unless the person type the value '00' in the prompt field of one of the values. Otherwise, the sum will be altered. Imagine intubating a patient unnecessarily just because the calculator added up to 0 for a typo... This won’t end well.
– R. Andrade