Foros del Web » Programando para Internet » Javascript »

Ayuda!!!! Los trillados decimales

Estas en el tema de Ayuda!!!! Los trillados decimales en el foro de Javascript en Foros del Web. Hola amigo foreros, tengo esta función Código PHP: function  iva () { ingreso_producto . precio_producto . value =(( ingreso_producto . precio_sin_iva . value * 12 ...
  #1 (permalink)  
Antiguo 25/03/2009, 11:33
 
Fecha de Ingreso: marzo-2009
Mensajes: 49
Antigüedad: 15 años, 1 mes
Puntos: 2
Ayuda!!!! Los trillados decimales

Hola amigo foreros, tengo esta función
Código PHP:
function iva()
{
ingreso_producto.precio_producto.value=((ingreso_producto.precio_sin_iva.value*12)/100)+parseFloat(ingreso_producto.precio_sin_iva.value)

La cual funciona bien... pero si por ejemplo en el campo precio_sin_iva se introduce el número 23 en vez de darme dos decimales me genera muchos y no redondea 25.759999999999998, otra cosa es que muestra punto (.) para los decimales, quisiera saber como puedo acomodar esta funcion para que redondee y muestre los decimales con coma y los miles y/o millones con punto.

Gracias de antemano
  #2 (permalink)  
Antiguo 25/03/2009, 11:43
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Ayuda!!!! Los trillados decimales

Puedes usar Math.round() para redondear.

En cuanto al separador de miles, revisa si esto te sirve:
http://www.forosdelweb.com/f13/faqs-...tml#post265553
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 25/03/2009, 12:02
 
Fecha de Ingreso: marzo-2009
Mensajes: 49
Antigüedad: 15 años, 1 mes
Puntos: 2
Respuesta: Ayuda!!!! Los trillados decimales

Gracias David el Grande por tu respuesta, pero realmente no sé como colocar el Math.round() ni donde colocarlo ya que javascript no es mi fuerte.

Si pudieras guiarme te lo agradezco.

Gracias nuevamente
  #4 (permalink)  
Antiguo 25/03/2009, 12:04
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Ayuda!!!! Los trillados decimales

El parámetro que debes pasarle a Math.round() es el número que quieres redondear. Por ejemplo:
Código javascript:
Ver original
  1. var resultado = Math.round(10.6);
  2. alert(resultado);
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 25/03/2009, 12:35
 
Fecha de Ingreso: marzo-2009
Mensajes: 49
Antigüedad: 15 años, 1 mes
Puntos: 2
Respuesta: Ayuda!!!! Los trillados decimales

Hola David el Grande, gracias nuevamente por tu respuesta y ayuda, pero he intentado hacer lo que me dices y he hecho cambios por todos lados y no veo como hacerlo... adjunto mi código a ver si puedes auxiliarme, abusando de tu ayuda.

Código PHP:
<script language="javascript">
function 
iva()
{
ingreso_producto.precio_producto.value=((ingreso_producto.precio_sin_iva.value*12)/100)+parseFloat(ingreso_producto.precio_sin_iva.value)
var 
resultado Math.round(precio_producto);
}
</script>
<form name="ingreso_producto" method="post" action="">
<table>
   <tr>
    <tr>
                        <td><font color="#0000FF" face="Verdana" size="2">&nbsp;▪
                        </font><font face="Verdana" size="2">Precio del Producto</font></td>
                        <td><font face="Verdana">
                        <input type="text" name="precio_sin_iva" onkeyup="iva()"> </font></td>
                    </tr>
<tr>
                        <td><font color="#0000FF" face="Verdana" size="2">&nbsp;▪
                        </font><font face="Verdana" size="2">Precio Final 
                        con IVA</font></td>
                        <td>&nbsp;<font color="#00CC33"><input type="text" name="precio_producto" readonly style="color:#006699;font-family:verdana"></font></td>
                    </tr> 
lo que estoy haciendo es que al colocar el número en el campo precio_sin_iva automáticamente aparece el precio nuevo en el campo precio_producto.

Gracias nuevamente y disculpa tanta molestia de mi parte
  #6 (permalink)  
Antiguo 25/03/2009, 12:40
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Ayuda!!!! Los trillados decimales

Prueba así:
Código javascript:
Ver original
  1. ingreso_producto.precio_producto.value = Math.round(((ingreso_producto.precio_sin_iva.value * 12) / 100) + parseFloat(ingreso_producto.precio_sin_iva.value));
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 25/03/2009, 12:50
 
Fecha de Ingreso: marzo-2009
Mensajes: 49
Antigüedad: 15 años, 1 mes
Puntos: 2
Respuesta: Ayuda!!!! Los trillados decimales

Gracias David el Grande, pero el problema ahora es que me redondea cualquier valor, por ejemplo si tengo en precio_sin_iva 10 deberia darme como resultado en precio_producto 11,20 pero lo que hace es darme como resultado 12
  #8 (permalink)  
Antiguo 25/03/2009, 13:00
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Ayuda!!!! Los trillados decimales

Si quieres redondear a dos decimales puedes usar:
Código javascript:
Ver original
  1. var resultado = Math.round(numero * 100) / 100;
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #9 (permalink)  
Antiguo 25/03/2009, 13:12
 
Fecha de Ingreso: marzo-2009
Mensajes: 49
Antigüedad: 15 años, 1 mes
Puntos: 2
Respuesta: Ayuda!!!! Los trillados decimales

Gracias David el Grande, pero no me funciona hoy estoy completamente bruto jajajajajaja

Código PHP:
<script language="javascript">
function 
iva()
{
ingreso_producto.precio_producto.value=((ingreso_producto.precio_sin_iva.resultado.value*12)/100)+parseFloat(ingreso_producto.precio_sin_iva.value)
var 
resultado Math.round(precio_sin_iva 100) / 100;}
</script> 
Gracias nuevamente
  #10 (permalink)  
Antiguo 25/03/2009, 15:01
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Ayuda!!!! Los trillados decimales

Es que en el ejemplo que te puse, el resultado se almacena en la variable resultado. Debes indicar dónde quieres que se guarde :
Código javascript:
Ver original
  1. var elem = ingreso_producto.precio_producto;
  2. elem.value = Math.round(elem.value * 100) / 100;
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #11 (permalink)  
Antiguo 25/03/2009, 15:03
 
Fecha de Ingreso: marzo-2009
Mensajes: 49
Antigüedad: 15 años, 1 mes
Puntos: 2
Respuesta: Ayuda!!!! Los trillados decimales

Perfecto.... Muchas gracias David el Grande... voy a probarlo y te comentaré mas tarde.
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 12:44.