Как убить злобное число (3.3e+6)

BelStudent

целеустремлённый чел
Как убить злобное число (3.3e+6)

Проблема такая: хотел вывести красиво float число с округлением до сотых.
Но число 1000.00 выводится как 1000, поэтому работаю с числом как с текстом, тогда всё OK.
КРОМЕ ОДНОГО СЛУЧАЯ.
УБИЛ КУЧУ ВРЕМЕНИ, но никак не могу исправить. Этот случай - число 3.3e+6.
Оно никак не хочет приводиться к формату 3300000.00.
Бросаю рабочий код,можите его запустить:
PHP:
<?php  function r3($str)  	
{	$temp=round((float)$str,2); // избавляемя от такой формулировки "1.705123e+0010"	
	$temp=(string)$temp;  
	$len=strlen($temp);  	
	$i=strrpos($temp,'.');
	if ($len-$i==2)  $temp.='0';  
	else if ($i==false)  $temp.='.00';	
	return $temp; 
}
 $a='3.3e+6'; 
 $b=r3($a);
 echo "Окончательный ответ=  $b" ;
  ?>
В Zend показывает нормально. Но ни один браузер (Mozilla, Opera, IE) не отображает в нормальной форме. Только в научной.

Не хочу ставить простую заглушку if'ом не поняв причины. Кто-нибудь сможет мне сказать, причины этого недоразумения?
 
Сверху