Convirtiendo números a letras con PHP

Hola amigos, hoy a petición de un lector (si!! tengo lectores!! y hacen peticiones!!!!) les voy a presentar una clase de PHP muy interesante, su nombre es Numbers_Words y nos permitirá convertir números a su nomenclatura literal, es decir, nos permite convertir “32” en “treinta y dos”, muy interesante, y ademas nos ahorrará bastante tiempo en caso de necesitar esta funcionalidad.

¿Como usarla?

Bien, si estamos utilizando pear, pues simplemente:

pear install Numbers_Words

Si no, podemos descargar desde esta página la versión para instalación manual, o directamente desde este blog, para los que no tienen acceso a internet.

Quienes lo instalamos de forma manual, solamente tenemos que extraer el comprimido, y colocar la carpeta “Numbers” en nuestro proyecto.

Una vez incluida la clase en el proyecto, solo tenemos que usarla de la siguiente forma:

<?php
require_once 'Numbers/Words.php';

$handle = new Numbers_Words();
$literal = $handle->toWords(32,'es');
echo $literal;
?>

Esto convertirá el número 32 en la cadena “treinta y dos” y la mostrará.

Si se fijan, a la función toWords() le pasamos como parámetro, además de número que deseamos convertir, la cadena “es”, esto es debido a que Numbers_Words soporta múltiples idiomas, y le estamos especificando que deseamos que haga la conversión a español.

Bueno, y esto ha sido todo, espero que les sea de utilidad :).

12 Replies to “Convirtiendo números a letras con PHP”

  1. Mi amigo dime si lo tienes montado ahora mismo, es que me dio este error, y en la línea 283 if (stream_resolve_include_path($file)) de words.php aqui como que no reconoce la funcion stream_….

    Fatal error: Call to undefined function stream_resolve_include_path() in C:\xampp\htdocs….Numbers\Words.php on line 283

    • Debe ser que estas usando una versión vieja de PHP, la función stream_resolve_include_path() se incluyó a partir de la versión 5.3.2, ten en cuenta que las versiones de PHP con soporte actualmente son la 5.5 y 5.6 (el soporte activo de la 5.5 ya terminó, pero todavía tiene actualizaciones de seguridad hasta dentro de unos 8 meses).

      Saludos.

      • ya si puede ser eso…tengo q probar con un php mas moderno, PHP Version: 5.3.1 es la mia que viene con el xampp que utilizo…tienes idea donde descargar??? saludos

    • Colega, no te se decir bien pk no desarrollo sobre Windows, pero me parece que el XAMPP tiene una estructura bastante específica, y para cambiarle la versión del php no seria solo cuestión de tirarlo dentro, ademas, tendrías que cambiar varias dll y modificar varios ficheros de configuración.

      Saludos.

    • Para eso están las funciones strtoupper(), ucfirst() y ucwords(), la primera convierte todas las letras a mayúsculas, la segunda solo la primera letra de la cadena, y la tercera, la primera letra de cada palabra.

      Saludos.

      • socio gracias ya habia encontrado la de convertir las primeras letras de cada cadena, una cosa tendras alguna documentacion, ayuda o algo asi php que me puedas dar, si es asi me la puedes mandar a mi correo, saludos

    • En los repositorios de las distribuciones de linux hay varias herramientas para convertir los resaltados de sintaxis a html, esas son las que uso, sobre todo una llamada highlight, con respecto a la documentación, igual, uso la que viene por defecto en mi distribución, y google…

      Saludos.

      • a ver ni uso linux ni mucho menos tengo internet, yo tengo los codigos en editores ejemplo notepad++ que te diferencia las palabras reservadas, y demas pero cuando copio y pego para el wp ya esta en formato plano… pense q era alguna opcion en el editor de tu tema q te permitia usar eso…saludos

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*