Foros del Web » Programando para Internet » Javascript »

Mostrar resultado a dos decimales

Estas en el tema de Mostrar resultado a dos decimales en el foro de Javascript en Foros del Web. Hola a todos, estoy trabajando con el siguiente código <script> function promedio() { var n1 = parseInt(document.form1.p1.value); var n2 = parseInt(document.form1.p2.value); var n3 = parseInt(document.form1.p3.value); ...
  #1 (permalink)  
Antiguo 28/03/2012, 11:06
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 10 meses
Puntos: 12
Mostrar resultado a dos decimales

Hola a todos, estoy trabajando con el siguiente código

<script>
function promedio() {
var n1 = parseInt(document.form1.p1.value);
var n2 = parseInt(document.form1.p2.value);
var n3 = parseInt(document.form1.p3.value);
document.form1.prom1.value=(n1+n2+n3)/3;
}
</script>


<td><input type="text" name="p1[]" id="p1" value="<?php echo $row_calificarm['parcial1']; ?>" size="3" style="border: none;background:#e6e6e6"disabled onchange="promedio()" /> </td>
<td><input type="text" name="p2[]" id="p2" value="<?php echo $row_calificarm['parcial2']; ?>" size="3" style="border: none;background:#e6e6e6"disabled onchange="promedio()"/> </td>

<td><input type="text" name="p3[]" id="p3" value="<?php echo $row_calificarm['parcial3']; ?>" size="3" style="border: none;" onchange="promedio()"/></td>

<td> <input type="text" name="prom1[]" id="prom1" "size="3" style="border: none;background:#e6e6e6" /></td>


El cual sirve para calcular el promedio de 3 datos desde una BD funciona perfecto solo que me gustaría mostrar el resultado a dos decimales pero soy nueva en javascript y la verdad no tengo ni idea de como hacerlo, espero vuestra ayuda

GRACIAS MIL
  #2 (permalink)  
Antiguo 28/03/2012, 11:59
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 10 meses
Puntos: 12
Respuesta: Mostrar resultado a dos decimales

he intentando con este codigo

document.write(prom1.toFixed(2))

pero no consigo hacerlo la verdad no tengo noción de la sintaxis q debo usar
  #3 (permalink)  
Antiguo 28/03/2012, 12:24
 
Fecha de Ingreso: marzo-2012
Mensajes: 8
Antigüedad: 12 años, 1 mes
Puntos: 1
Respuesta: Mostrar resultado a dos decimales

Mm no se mucho de javascrpt pero por lo que veo estas usando parseInt cuando deberia ser parseFloat y el decimal debe estar con . Y no con , .
Intenta eso y me dices como te va
El fixed(2) esta bien usado pero no tienes decimales porque lo estas haciendo con un numero entero
  #4 (permalink)  
Antiguo 28/03/2012, 12:31
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 10 meses
Puntos: 12
Respuesta: Mostrar resultado a dos decimales

Cita:
Iniciado por Kninox Ver Mensaje
Mm no se mucho de javascrpt pero por lo que veo estas usando parseInt cuando deberia ser parseFloat y el decimal debe estar con . Y no con , .
Intenta eso y me dices como te va
El fixed(2) esta bien usado pero no tienes decimales porque lo estas haciendo con un numero entero
Gracias por responder he cambiado a parseFloat como me indicas...
lo de la , no sé a que te refieres es . (punto)

Bueno aún no logro que quede
GRACAS OTRA VEZ
  #5 (permalink)  
Antiguo 28/03/2012, 12:38
 
Fecha de Ingreso: marzo-2012
Mensajes: 8
Antigüedad: 12 años, 1 mes
Puntos: 1
Respuesta: Mostrar resultado a dos decimales

var n1 = document.form1.p1.value;
resultado = n1.replace(',','.'); //remplaza la coma por el punto
valor = parseFloat(resultado) // transforma la cadena de texto a float
document.write(valor.toFixed(2)) // imprime el valor con 2 decimales

me ha kedado un poco desordenado es xq estoy desde el telefono
espero que te ayude
  #6 (permalink)  
Antiguo 28/03/2012, 12:51
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 10 meses
Puntos: 12
Respuesta: Mostrar resultado a dos decimales

Cita:
Iniciado por Kninox Ver Mensaje
var n1 = document.form1.p1.value;
resultado = n1.replace(',','.'); //remplaza la coma por el punto
valor = parseFloat(resultado) // transforma la cadena de texto a float
document.write(valor.toFixed(2)) // imprime el valor con 2 decimales

me ha kedado un poco desordenado es xq estoy desde el telefono
espero que te ayude
GRACIAS POR TU AYUDA
pero la verdad ya me enrede bastante jejeje pense q solo habia q modicarle algo
al codigo final q es el que muestra el resultado
document.form1.prom1.value=(n1+n2+n3)/3;
document.write(prom1.toFixed(2));

La verdad no temgo idea de como usar el fixed :s
  #7 (permalink)  
Antiguo 28/03/2012, 13:02
 
Fecha de Ingreso: marzo-2012
Mensajes: 8
Antigüedad: 12 años, 1 mes
Puntos: 1
Respuesta: Mostrar resultado a dos decimales

mmmm yo lo acabo de hacer asi mira no se si es lo que tu necesitaras pero alomejor te puede servir de guia

<script>
function promedio() {
var n1 = parseFloat(document.form1.p1.value);
var n2 = parseFloat(document.form1.p2.value);
var n3 = parseFloat(document.form1.p3.value);
var total = (n1+n2+n3)/3;
document.write(total.toFixed(2));
}
</script>



<form name="form1" method="post" action="">
<p>
<label for="p1"></label>
<input type="text" name="p1" id="p1">
</p>
<p>
<input type="text" name="p2" id="p2">
<input type="submit" name="button" id="button" value="Submit" onClick="promedio()">
</p>
<p>
<input type="text" name="p3" id="p3">
</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
</form>
  #8 (permalink)  
Antiguo 28/03/2012, 13:02
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 10 meses
Puntos: 12
Respuesta: Mostrar resultado a dos decimales

La solución era asi por si alguien le sirve



document.form1.prom1.value=((n1+n2+n3)/3).toFixed(2);
  #9 (permalink)  
Antiguo 28/03/2012, 13:14
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 10 meses
Puntos: 12
Respuesta: Mostrar resultado a dos decimales

Cita:
Iniciado por Kninox Ver Mensaje
mmmm yo lo acabo de hacer asi mira no se si es lo que tu necesitaras pero alomejor te puede servir de guia

<script>
function promedio() {
var n1 = parseFloat(document.form1.p1.value);
var n2 = parseFloat(document.form1.p2.value);
var n3 = parseFloat(document.form1.p3.value);
var total = (n1+n2+n3)/3;
document.write(total.toFixed(2));
}
</script>



<form name="form1" method="post" action="">
<p>
<label for="p1"></label>
<input type="text" name="p1" id="p1">
</p>
<p>
<input type="text" name="p2" id="p2">
<input type="submit" name="button" id="button" value="Submit" onClick="promedio()">
</p>
<p>
<input type="text" name="p3" id="p3">
</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
</form>
GRACIAS POR TU TIEMPO AL FINAL LO RESOLVÍ SOLO AGREGANDO
document.form1.prom.value=((n1+n2+n3)/3).toFixed(2);

Etiquetas: funcion, input, php, resultados
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 21:58.