Al trabajar con Codeka MX tuve que hacer una adaptación al momento de imprimir el total de una factura con letra.
En México se acostumbra poner la parte entera de la cantidad con letra, seguido de un xx/100 M.N. para la parte decimal.
Por ejemplo:
3,527.50 sería tres mil quinientos veintisiete pesos 50/100 M.N.
Para esto hay que separar la parte entera de la parte decimal.
Después de ver varios enfoques, el que más me gustó por su sencillez fue utilizando la función explode.
Siguiendo con el ejemplo, supongamos que la variable $total contiene el valor que quiero separar.
$total = 3527.50; $decimales = explode(".",$total);
la variable decimales es un arreglo, de manera que almacena en el indice 0 lo que encuentre antes del punto, y en el indice 1 lo que sigue de manera que:
$decimales[0] contiene el valor de 3527
y
$decimales[1] contiene el valor de 50
Y eso es todo, así de simple.
Excelente idea para obtener el valor entero en PHP.
Gracias por tomarte el tiempo para compartir tu experiencia y conocimiento.
*ingresar un numero y reportar la suma de sus
digitos que simplemente sean primos.
ejemplo:
NUMERO: 1235
SUMA:8
*ingresar un numero decimal y reportar la cantidad
de digitos de la parte entera y la parte dicimal.
ejemplo:
NUMERO: 814.98
PARTE ENTERA: 3
PARTE DECIMAL:0.98
les agradecería que me puedan ayudar amigo =)
¿Y quitarte la oportunidad de aprender? ¡Jamás!
Hola, es muy bueno que ayudes, mira deseo saber como cambiar el color verde de fondo del programa codeka.- estoy buscando en ../estilos/ pero no se donde cambio el color
de antemano muchas gracias
Vas bien, efectivamente es en el archivo estilos.css , el color verde lo da el código #4ECC17 , ese es el que tienes que sustituir para cambiar el color.
porque mi rango de distribucion comienza en 0.05 esos montos deben ser distribuidos en 0.05 0.10, 1.10 y asi sucesivamente.
entendes
Ese es el problema, ¿Como quieres generar un código si no sabes explicar lo que quiere hacer?.
Porque debe terminar asi 10 o 15 es sencillo pero no se explicarlo se ve
Bueno Bárbara, si no importa si es un 10 o un 15 ¿Porque no simplemente tomas en cuenta una decimal en lugar de dos?
A ver si te puedo explicar
debo sacar 4 porcentajes ej
%25
%25
%15
%35
cuando haces las cuentas quedan por ejemplo 4513.13
lo que necesito es que ese decimal 13 se convierta en 10 o en 15 no importa en cual de los dos numeros termine sino que haga el cambio debe ser multiplo de 5 entendes porque a la vez estos valores se reparten en 9 valores mas que eso no importa ya lo hice entendes ahora?
El principal problema Bárbara es que no te sabes explicar. Por ejemplo no se cuando el resultado te debe de dar 0 o 5 …
Si pudieras ser más clara sobre cuando debe de salir cero y cuando 5 el programa en php se escribe solito.
el tema es asi los numeros me dan 4513.96 4513.62 esos numeros me da yo necesito que me de 0 o 5 al final para que terminen en 0 o 5 como lo puedo en hacer en php
tengo 4 numeros y saco el porcentaje del porcentaje redondearlos a 0 o 5
gracias espero tu respuesta
es el primer foro que me contestan re copado segui asiii
Hola queria saber como puedo hacer tengo un numero del cual 4563.13
necesito separar la parte entera luego un decimal y el segundo decimal redondearlo a 0 o 5
es decir que el numero quede 4563.15 o 4563.00
desde ya muchas gracias
Puedes intentar sumarle .5 al numero y luego dejar solamente la parte entera.
Ej,
4563.15 + 0.5 = 4563.65 -> 4563.00
4563.68 + 0.5 = 4564.18 -> 4564.00
¿Es lo que buscas?
oye amigo excelente articulo!!!!!!!!!!, solo tengo una duda, como puedo hacer para que al momento de realizar la venta todo sea de contado y solo los que eliga se vayan a credito, ya que cuando vendo automaticamente se queda sin cobrar.
de antemano muchas gracias
Te vas a encontrar con casi el mismo problema que yo pero con la ventaja de que ya tengo algo de camino recorrido con codeka mx.
Verás, en todo el sistema encontrarás la función number_format de PHP. Para codeka mx modifique la función para que 2 decimales usando la coma como separador de miles y el punto como indicador de decimales (en España es al revés) supongo que tu puedes colocarle 0, en lugar del dos.
$total2= number_format($total,2,".",",");
quedando así :
$total2= number_format($total,0,".",",");
Ahora con respeco a la modificación del archivo imprimir_factura.php , alrededor de la línea 153 del archivo puedes modificarla a algo parecido a esto:
$pdf->Cell(35,4,strtoupper($nw->toWords($decimales[0], "es") ." pesos"),0,0,'L',0);
Con eso dejaría de mostrar la leyenda M.N. xx/100.
Lo pruebas y me dices que tal ok?
Hola
Primero que todo, felcitaciones por tu blog. me ha servido mucho.
Tengo una consulta, lo que pasa es que he estado usando el codekamx en mi pais Chile. pero quisira modificarlo para que no me aparesacan los decmales ya que aqui solo usamos numeros enteros.
Con lo que explicabas mas arriba, estuve tratando de modificar el archivo imprimir_factura.php pero me salia un error al vizualizar la factura.
Ademas puedo quitarle 50/100 M.N. ya que en Chile no usamos esto y solo quede como pesos ?
Estare muy agradecido.
Atte.
Patricio Fuentes
Creo que se llama Mónaco… 😀
Que tipografía usas en tu terminal?
Es igual a la función String.Split() de C# o Vb