You do not want to include decimal width in the informat specification, unless you want SAS to divide text without the decimal point by that power of ten. Do not translate the periods to commas (unless perhaps your SAS session is one where that is what the COMMA informat wants).
data want;
input PatientId $ AgeMo Temp $;
Temp_n = input(translate(Temp,".",","), comma8.);
drop Temp;
rename Temp_n = Temp;
datalines;
0001 11 37.9
0002 9 38.7
0003 44 38,1
0004 30 37.7
0005 19 37,5
0006 20 40
0007 10 39
;
Patient Age
Obs Id Mo Temp
1 0001 11 37.9
2 0002 9 38.7
3 0003 44 38.1
4 0004 30 37.7
5 0005 19 37.5
6 0006 20 40.0
7 0007 10 39.0
... View more