Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Migrar Función

Estas en el tema de Migrar Función en el foro de Javascript en Foros del Web. Hola de nuevo tengo esta funcion en php lo que hace es lo siguiente saca un promedio, se corta a un decimal... si el decimal ...
  #1 (permalink)  
Antiguo 08/07/2014, 18:14
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 13 años, 4 meses
Puntos: 12
Migrar Función

Hola de nuevo tengo esta funcion en php
lo que hace es lo siguiente saca un promedio, se corta a un decimal... si el decimal es mayor 5 (.6 etc...) pasa al siguiente entero... si es menor se queda igual... funciona como debe ser... pero ahora estoy sacando el promedio mediante javascript ya lo tengo en un input calculado pero no sé como podría cortarlo a un digito y hacer la comparación
Código PHP:
<?php 
$tp2
=($pfinal+$pfinal2+$pfinal3+$pfinal4)/10;
$tp2f=number_format($tp2,1);
$final explode(".",$tp2f); 
if(
count($final)>1){ 
    
// Si existe un decimal lo tomamos 
    
if($final[1]>5){ 
        
// Si el decimal es mayor que 5 pasamos al siguiente entero 
        
$tp2f $final[0] + 1
    } else { 
        
// Si es menor que 5 
        
$tp2f $final[0]; 
    } 
}  

  
?>
Aca queda el resultado de mi promedio

Código HTML:
parseFloat(document.getElementById('final' + i).value);
Ojala me puedan ayudar GRACIAS NUEVAMENTE
  #2 (permalink)  
Antiguo 08/07/2014, 21:10
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años, 6 meses
Puntos: 528
Respuesta: Migrar Función

Para acortar o redondear los decimales, puedes usar toFixed() ceil, o round, aunque si insistes en usar un método propio...

Código Javascript:
Ver original
  1. var promedio=(v1+v2+v3+v4)/10;//haces tu operación inicial
  2. var texto=promedio.toString();//Pasas el numero a una cadena de texto ej. "390.333333"
  3. texto=texto.split('.');//Partes la cadena por el punto, obtienes un arreglo por ej. ["390","33333"]
  4. var primerDecimal=Number(texto[1][0]);//Tomas el primer decimal, lo conviertes a número
  5. if(primerDecimal>5)//si el primer decimal es mayor a 5...
  6.    var valorFinal=Number(texto[0])+1;//el valor final es el numero entero + 1
  7. else
  8.    var valorFinal=promedio;
  #3 (permalink)  
Antiguo 09/07/2014, 10:35
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 13 años, 4 meses
Puntos: 12
Respuesta: Migrar Función

Gracias ocp001a
me enredo un poco por el indice (i)
yo saco asi mi promedio
primero verifico mis cajas
despues hago esto....

document.getElementById('final' + i).value =(p1+p2+p3+p4)/10;

segun lo que me compartes en una variable asigno el promedio...

mi duda es esa variable lleva el indice (i)?????
  #4 (permalink)  
Antiguo 09/07/2014, 17:53
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años, 6 meses
Puntos: 528
Respuesta: Migrar Función

No estoy seguro de entender tu pregunta, pero el resultado que en el ejemplo guardé en una variable, lo puedes pasar a tu campo, así:


document.getElementById('final' + i).value=valorFinal;

Claro que tendría que ver todo tu código para decirte si debes colocar o no el índice i, o bien cómo hacerlo.
  #5 (permalink)  
Antiguo 10/07/2014, 12:12
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 13 años, 4 meses
Puntos: 12
Respuesta: Migrar Función

Asi saco mi promedio
<script type="text/javascript">
function prom(i) {

var p01 = parseFloat(document.getElementById('pr1' + i).value);

var p02 = parseFloat(document.getElementById('pr2' + i).value);

var p03 = parseFloat(document.getElementById('pr3' + i).value);

document.getElementById('final' + i).value =(p01+p02+p03)/10;


}
</script>


Amigo creo que ya ha quedo gracias

Última edición por Briss; 10/07/2014 a las 12:35
  #6 (permalink)  
Antiguo 10/07/2014, 12:36
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 13 años, 4 meses
Puntos: 12
Respuesta: Migrar Función

Creo que ya esta hago pruebas y comento :)
gracias

Etiquetas: funcion, input, migrar, php
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 13:10.