Ver Mensaje Individual
  #5 (permalink)  
Antiguo 22/08/2004, 00:54
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
Bueno .. en ese caso tu "numero" siempre va a ser un string, por ende deberías tratar el tema desde el punto de vista de "cadenas" (strings) ..

Ahora bien, tu conoces que bajo tus condiciones .. si algo contiene un . (punto) despues de hacer el str_replace() por si hay comas .. tendrías que buscar esa "coma" en la cadena obtenida para sabe si es un "float" (ya que no puedes usar is_float() por qué atiende al tipo de la variable ...).

Sería:

Código PHP:
<?php

$cad 
'METEO & WEBCAM Datos actuales en Camping Aquarius';
$cad .= '(Playa de Sant Pere Pescador) Fecha: 22 ago 2004 Hora Datos:';
$cad .= '04:14:44 (GMT+1) Temperatura Presión Humedad Velocidad del';
$cad .= 'viento Dirección del viento ºC ºF hPa % m/s Km/h kt Beaufort SW';
$cad .= 'Garbí 21 69,8 1019 61 0,48 1,7 1 1 Ultimas 24 h: grafica';

$matriz_cad explode(' ',$cad);

foreach (
$matriz_cad as $val) {
   
$val_usa strtr($val,',.','.,'); // convetimos a numero americano

    
if (strpos($val_usa,'.')) $cad_transf[] = number_format($val_usa,2,',','.');
    else 
$cad_transf[] = $val;

}

echo 
implode(' ',$cad_transf);

?>
A su vez .. para number_format() tendras que indicar el caracter de separador de dedimales y de miles.

Un saludo,