Foros del Web » Programando para Internet » Javascript »

Redondear numero

Estas en el tema de Redondear numero en el foro de Javascript en Foros del Web. hola amigos nuevamente tengo una duda como puedo redondear un valor? probe con una funcion math.round pero me arroja un resultado que dice NaN el ...
  #1 (permalink)  
Antiguo 31/08/2006, 10:38
Avatar de Chudux  
Fecha de Ingreso: marzo-2006
Mensajes: 247
Antigüedad: 18 años, 8 meses
Puntos: 3
Redondear numero

hola
amigos nuevamente tengo una duda
como puedo redondear un valor?
probe con una funcion math.round pero me arroja un resultado que dice NaN

el codigo que hice fue el siguiente

var uf=(Math.round(document.form1.uf.value));
uf=Math.round(uf);
alert(uf);

necesito redondear el contenido del campo de texto uf

favor de ayudarme
un saludo . .
  #2 (permalink)  
Antiguo 31/08/2006, 11:51
 
Fecha de Ingreso: enero-2002
Mensajes: 64
Antigüedad: 22 años, 10 meses
Puntos: 0
Hola,

el código que has hecho es correcto (bueno, solo debes llamar una vez a la funcion Math.round, y las estas llamando 2 veces, pero aun así funcionaria bien.

El NaN que te devuelve es porque el parámetro que le pasas no es numerico, es decir que el contenido del campo uf no es numerico, recuerda que ej jscript el separador de decimales es el punto y no la coma. Si intentas redondear 5,6 te devoverá NaN porque no lo considera un número.

saludos
  #3 (permalink)  
Antiguo 31/08/2006, 11:54
Avatar de Chudux  
Fecha de Ingreso: marzo-2006
Mensajes: 247
Antigüedad: 18 años, 8 meses
Puntos: 3
ahora
existe alguna forma de redondear los numeros con " , "
por ejemplo
18.369,6

se puede o no?

un saludo y gracias por tus respuestas,
como puedo solucionar lo del NaN?
  #4 (permalink)  
Antiguo 31/08/2006, 12:07
 
Fecha de Ingreso: enero-2002
Mensajes: 64
Antigüedad: 22 años, 10 meses
Puntos: 0
los numeros con ese formato jscript los toma como cadenas de texto. Para hacer lo que quieres priero debes convertir esa cadena a valor numerico:
- reemplaza el punto por cadena vacia
- reemplaza la coma por punto
- conviertela a numerico con parseInt
Despues aplica la funcion math.round para el redondeo

Para evitar lo del NaN (supongo que lo que quieres es mostrar un mensaje de error en vez del NaN) Existe la funcion: isNaN() que te devuelve true en caso de que el parametro que le pases sea NO numerico y false en caso de que sea numerico. Así podrás controlar si lo que el usuario colocó en el campo de texto es numerico o no y por lo tanto si lo puedes redondear o no.
  #5 (permalink)  
Antiguo 31/08/2006, 12:11
Avatar de Chudux  
Fecha de Ingreso: marzo-2006
Mensajes: 247
Antigüedad: 18 años, 8 meses
Puntos: 3
gracias nuevamente
com transformo la como por un punto?
puedes pobner un ejemplo con codigo para entender mas porfavor ???
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 18:38.