Como mostrar solo 2 decimales en este código PHP

Tengo este código php en el cual cuando introduzco un numero en el campo precio se muestra un porcentaje de ese numero en el campo monto y monto2

El problema es que para algunos numero el resultado de esta operación muestra el numero en los campos monto y monto2 con muchos decimales.

Necesito que solo muestren 2 decimales estos campos(monto y monto2)

Si alguien me puede ayudar por favor, lo agradezco mucho.

¿

<?php
//proceso del formulario
// si existe "enviar"...
if (isset ($_POST['enviar'])) {
//recogemos las variables
$nombre=$_POST['nombre'];
$apellido=$_POST['apellido'];
$email=$_POST['email'];
$código=$_POST['código'];
$precio=$_POST['precio'];
$monto=$_POST['monto'];
$monto2=$_POST['monto2'];
$banco=$_POST['banco'];
$referencia=$_POST['referencia'];
$cuentadepago=$_POST['cuentadepago'];
$comentario=$_POST['comentario'];
//comprobamos si todos los campos fueron completados
if ($nombre!='' && $apellido!='' && $email!='' && $código!='' && $monto!='' && $monto2!='' && $banco!='' && $referencia!='' && $comentario!='' && $cuentadepago!='' && $precio!='') {
// si es asi armamos el html
$contenido = '<html><body>';
$contenido .= '<h2>Nuevo Encargo</h2>';
$contenido .= '<p>Enviado el '. @date("d M Y").'</p>';
$contenido .= '<hr />';
$contenido .= '<p>Nombre: <strong>'.$nombre.'</strong>';
$contenido .= '<p>Apellido: <strong>'.$apellido.'</strong>';
$contenido .= '<p>Email: <strong>'.$email.'</strong>';
$_Val = "";
foreach($_POST['código'] as $Val){
if($_Val == ""){
$_Val = $Val;
}else{
$_Val .= " - ".$Val;
}
}
$contenido .= '<p>Codigo(s): <strong>'.$_Val.'</strong>';
$contenido .= '<p>Monto Total de Pedido: <strong>'.$precio.' BsF. </strong>';
$contenido .= '<p>Monto Pagado(20%): <strong>'.$monto.' BsF. </strong>';
$contenido .= '<p>Monto Restante a Pagar(80%): <strong>'.$monto2.' BsF. </strong>';
$contenido .= '<p>Banco: <strong>'.$banco.'</strong>';
$contenido .= '<p>Nro. Deposito o Transferencia: <strong>'.$referencia.'</strong>';
$contenido .= '<p>Cuenta a la que ha Enviado el Pago: <strong>'.$cuentadepago.'</strong>';
$contenido .= '<p>Comentario: <strong>'.$comentario.'</strong>';
$contenido .= '<hr />';
$contenido .= '</body></html>';
// si todos los campos fueron completados enviamos el mail
mail ("[email protected]", "Referencia $referencia", $contenido, "From: $email\nContent-Type: text/html; charset=iso-8859-1\nContent-Transfer-Encoding: 8bit");
$flag='ok';
$mensaje='<div id="ok">Gracias por tu solicitud, en un lapso no mayor a 24 horas hábiles nos comunicaremos contigo. <br />
<br />
<br />
<a href="http://exeterashop.com/">Finalizar</a></div>';
} else {
//si no todos los campos fueron completados se frena el envio y avisamos al usuario
$flag='err';
$mensaje='<div id="error">Todos Los Campos Son Requeridos</div>';
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
echo number_format($monto);
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>ExeteraShop</title>
<style>
body {
font: 1em Lucida Grande, 'Trebuchet MS', verdana, sans-serif;
background-image: url(http://sajefashion.com/encargos/imagen_formulario2.2.jpg);
background-repeat: no-repeat;
background-color: black;
}
#form {
border: 3px double #eaeaea;
background-color: #fafafa;
padding: 10px;
width: 400px;
margin: auto;}
#form h2{
font-size: 1.5em;
margin: 0 0 1em 0;
padding: 0 0 0.5em 0;}
#form .campo {
border: 1px solid #999;
padding: 0.3em;
font-size: 1.2em;}
#form .error {
border: 1px solid #F00;
padding: 0.3em;
font-size: 1.2em;}
#form .com {
border: 1px solid #999;
padding: 0.3em;
font-size: 1.2em;
width:20em;
height: 10em;
font: 1em Lucida Grande, 'Trebuchet MS', verdana, sans-serif;}
#form .com-error {
border: 1px solid #F00;
padding: 0.3em;
font-size: 1.2em;
width:20em;
height: 10em;
font: 1em Lucida Grande, 'Trebuchet MS', verdana, sans-serif;}
#form .boton {
border: 2px solid #999;
padding: 0.3em;
font-size: 1.2em;
width: 4em;}
#error {
border: 1px dashed #F00;
background-color: #FFF;
padding: 5px;}
#ok {
border: 1px dashed #060;
background-color:#FFF;
padding: 5px;}
</style>
</head>
<body>
<div id="form">
<h2 align="center">Nuevo Encargo</h2>
<? Echo $mensaje; /*mostramos el estado de envio del form */ ?>
<? If ($flag!='ok') { ?>
<form action="" method="post" enctype="multipart/form-data">
<p>Nombre*
<input <? If (isset ($flag) && $_POST['nombre']=='') { echo 'class="error"';} else {echo 'class="campo"';} ?> type="text" name="nombre" value="<? Echo $_POST['nombre'];?>" />
</p>
<p>Apellido*
<input name="apellido" type="text" id="apellido" value="<? Echo $_POST['apellido'];?>" <? If (isset ($flag) && $_POST['apellido']=='') { echo 'class="error"';} else {echo 'class="campo"';} ?> />
<br />
</p>
<p>Email*
<input <? If (isset ($flag) && $_POST['email']=='') { echo 'class="error"';} else {echo 'class="campo"';} ?> type="text" name="email" value="<? Echo $_POST['email'];?>" />
</p>
<p>Codigo(s) Productos*<br />
<input name="código[]" type="text" id="código" value="<? Echo $_POST['código'];?>" <? If (isset ($flag) && $_POST['código']=='') { echo 'class="error"';} else {echo 'class="campo"';} ?> />
<p>
<script language="javascript">
var CCont =...

1 respuesta

Respuesta

Necesitas formatear la salida del número

<a>http://www.php.net/manual/es/function.number-format.php#102040</a>

Ese ejemplo pasa a dos decimales, acortando si tienes más, y añadiendo ceros al final si por ejemplo sólo tienes un decimal.

La verdad no me ayudo su sugerencia ya que soy muy novato y no tengo idea de como utilizar la función que recomienda, creo que pudo colocar un poco mas de interés.

De igual forma gracias.!!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas