Probabilmente dipende dal fatto che i numeri in questione sono scritti con il carattere "virgola", e quindi PHP li interpreta come stringhe, mentre un decimale deve essere scritto con il carattere "punto" come delimitatore tra parte intera e parte decimale. Da dove provengono i numeri? Da un database?