Formato de decimales en pdf hecho en php

Como hago para que en mi pdf me salgan los números con un formato decimal, ya que en la base de datos los números son de tipo double, y cuando me muestra el pdf los números salen bastante largos. Ejemplo: si yo ingreso 0.05, en el pdf me sale 0.050005656656 parecido a esto, y esa es mi pregunta como hago para que salga con un formato decimal.

1 respuesta

Respuesta
1
intentaste convertir el numero con la funcion round?? solo tienes que hacer algo tipo $numero = round($numero, 2);
Marcelo
Sè de esa función pero no se donde aplicarla, podrías mostrarme un ejemplo de pdf con decimales, dos decimales son suficiente, ya que intente con printf y con number_format pero no me sale.
Gracias.
Espero respuesta.
Aquí te pongo el código que tengo:
<?php
require_once('class.ezpdf.php');
$pdf =& new Cezpdf('letter','landscape');
$pdf->selectFont('fonts/Times-Roman.afm');
$pdf->ezSetCmMargins(1,1,1.5,1.5);
$codigo=$_POST['codigomaterial'];
$conexion = mysql_connect("localhost","root","");
$db=mysql_select_db("sistemainventarioypedidos", $conexion);
$queEmp = "SELECT CodMaterial, CodProveedor, NombreProveedor, NombreMaterial, Cantidad, CostoUnitario FROM Materiales where Cantidad<='0'";
$resEmp = mysql_query($queEmp, $conexion) or die(mysql_error());
$totEmp = mysql_num_rows($resEmp);
$ixx = 0;
while($datatmp = mysql_fetch_assoc($resEmp)) {
$ixx = $ixx+1;
$data[] = array_merge($datatmp, array('num'=>$ixx));
}
$titles = array(
'CodMaterial'=>'<b>Código Material</b>',
'CodProveedor'=>'<b>Código Proveedor</b>',
'NombreMaterial'=>'<b>Nombre Material</b>',
'NombreProveedor'=>'<b>Nombre Proveedor</b>',
'Cantidad'=>'<b>Cantidad</b>',
'CostoUnitario'=>'<b>Costo Unitario</b>',
 );
$options = array(
'shadeCol'=>array(0.8,0.8,0.7),
'xOrientation'=>'center',
'width'=>700,
'fontSize' => 9,
);
$pdf->ezText("<b>Sistema de Inventario y Pedidos</b>\n\n",12);
$pdf->ezImage("imagenes/LogoOriginal.jpg", 0, 150, 'none', 'left');
$pdf->ezText("<b>Reporte de Materiales Inexistentes</b>\n",12);
$pdf->ezTable($data,$titles, '', $options);
$pdf->ezText("\n\n\n", 10);
$pdf->ezText("<b>Fecha:</b> ".date("d/m/Y"), 10);
$hora=date("h:i:s A");
$pdf->ezText("<b>Hora:</b> ".$hora, 10);
$pdf->ezStream();
?>
El código anterior es el que crea el pdf y lo que quiero que salga con un formato decimal es el costo unitario, con 2 decimales es suficiente.
¿Cuál es el valor que quieres cambiar?
Ya te lo dije es el costo unitario, ya que cuando lo hago me sale una chorrera de números y yo solo quiero la parte entera y dos decimales, ejemplo: quiero que salga 0.05 y no 0.0500000077767, más claro quiero que al momento de imprimir el costo unitario los valores me salgan formateados con dos decimales y no con más.
Más claro no se puede.
Gracias.
Como lo logro encontrar en el php, lo mejor es hacer algo así para el query
"SELECT CodMaterial, CodProveedor, NombreProveedor, NombreMaterial, Cantidad, ROUND(CostoUnitario,2) AS CostoUnitario FROM Materiales where Cantidad<='0'";
Con lo que MySQL devolverá el numero con 2 posiciones ;)
Hey gracias, me funciono, ya solo eso me faltaba para completar una tarea.
Y si yo quisiera alinear los números a la derecha para que al momento de hacer una suma de todos los costos se haga más fácil, ejemplo:
        0.09
        2.10
12500.50
25666.12
Pero si no entiendes mi pregunta, no hay problema solo con la respuesta que me diste basta.
Gracias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas