number_format() ожидает

подскажите пожалуйста, что может вызывать такую ошибку - ,,Warning: number_format() expects parameter 1 to be double, string given,, Ссылается на эту строку -

case 1: $b=number_format($a,$y,"."," "); break;

весь код -

function _font($a, $r=0, $f=0, $y=0)
{
if($a)  
    {
    switch ($r)
        {
        case 0: $b=number_format($a,$y,",",""); break;
        case 1: $b=number_format($a,$y,"."," "); break;
        case 2: $b=number_format($a,$y,",","."); break;
        case 3: $b=number_format($a,$y,".",","); break;
        case 4: $b=number_format($a,$y,".",""); break;
        }

    switch ($f)
        {
        case 0: $c=$b; break;
        case 1: $c="<font color=#FF0000>".$b."</font>"; break;
        case 2: $c="<font color=#660033>".$b."</font>"; break;
        case 3: $c="<font color=#009966>".$b."</font>"; break;
        case 4: $c="<font color=#0066CC>".$b."</font>"; break;
        }
    }
else $c='';
return $c;
}

Ответы (1 шт):

Автор решения: MyZik

Просто переобразуйте значение аргумента $a в тип float:

number_format((float)$a,$y,",","");
→ Ссылка