Foros del Web » Programando para Internet » PHP »

De numero a ordinal

Estas en el tema de De numero a ordinal en el foro de PHP en Foros del Web. Buen Dia, alguien sabe acerca de convertir numeros a ordinales?...
  #1 (permalink)  
Antiguo 11/06/2013, 08:37
 
Fecha de Ingreso: febrero-2009
Mensajes: 47
Antigüedad: 15 años, 2 meses
Puntos: 2
De numero a ordinal

Buen Dia, alguien sabe acerca de convertir numeros a ordinales?
  #2 (permalink)  
Antiguo 11/06/2013, 08:40
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Respuesta: De numero a ordinal

Te toca tener una "lista" o mejor dicho arreglo asi:

$ordinales = array('primero','segundo','tercero','cuarto');

Entonces..

echo $ordinales[2]; // imprime Segundo
__________________
Salu2!
  #3 (permalink)  
Antiguo 11/06/2013, 09:33
 
Fecha de Ingreso: febrero-2009
Mensajes: 47
Antigüedad: 15 años, 2 meses
Puntos: 2
Respuesta: De numero a ordinal

el problema es que manejo gran cantidad de numeros, no mas de 200 y me parece muy tedioso hacer algo asi, quizas una funcion? algo mas elaborado.
  #4 (permalink)  
Antiguo 11/06/2013, 09:57
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Respuesta: De numero a ordinal

Pues PHP no va a la escuela...... es imposible que el interprete sepa eso que Ud quiere, le toca implementarlo de alguna forma.

Para numeros por encima del 20 puede hacer que diga:

21-esimo
22-esimo
23-esimo
..
N-esimo

Código PHP:
<?php

   
echo ordinal(5);

function 
ordinal($n){
    
$ordinales = array('primero','segundo','tercero','cuarto');

    if (
$n<=count ($ordinales)){
        return 
$ordinales[$n-1];
    }
    return 
$n.'-esimo';
}
Logicamente cuantos mas ordinales definas, mejor

---
Puedes mirar estos recursos...... con esta informacion puedes hacer mas inteligente la funcion o incluir mas ordinales:

http://www.rae.es/dpd/srv/search?id=nypwukqZ6D64M23Yos
http://roble.pntic.mec.es/msanto1/or...ia/numeros.htm
__________________
Salu2!

Etiquetas: numero
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:26.