Итак, у нас есть:
$str = '1234567.89';
Чтобы преобразовать эту строку во float делаем так:
$float = $str + 0.0;
// или
$float = (float)$str;
В общем, теперь переменная $float имеет тип данных float и равна 1234567.89.
А теперь превратим все это дело обратно в строку. Для этого будем использовать функцию number_format() и в зависимости от переданных в нее параметров получим:
number_format($a, 2); // 1,234,567.89
number_format($a, 2, '.', ''); // 1234567.89
number_format($a, 2, '.', ','); // 1,234,567.89
number_format($a, 2, ',', ' '); // 1 234 567,89
Все значения, как вы понимаете, уже в string. Кстати, а если вторым параметром передать в качестве количества знаков после запятой передать не 2, а 1, то все это дело еще и округляться будет по всем правилам.