Código de JavaScript - Redondear decimales

Versión 1 - redondeo a 2 decimales
estrellaestrellaestrellaestrellaestrella(11)

Actualizado el 3 de Junio del 2015 (Publicado el 4 de Febrero del 2002)gráfica de visualizaciones de la versión: Versión 1 - redondeo a 2 decimales
62.201 visualizaciones desde el 4 de Febrero del 2002
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<!--INICIO DE LA FUNCION-->
<SCRIPT LANGUAGE="javascript">
<!--www.lawebdelprogramador.com-->
<!--
function redondeo2decimales(numero)
{
	var original=parseFloat(numero);
	var result=Math.round(original*100)/100 ;
	return result;
}
-->
</SCRIPT>
<!--FIN FUNCION-->
 
<SCRIPT LANGUAGE="javascript">
<!--www.lawebdelprogramador.com-->
<!--
document.write (redondeo2decimales(100.54954785));
-->
</SCRIPT>



Comentarios sobre la versión: Versión 1 - redondeo a 2 decimales (11)

maryluz
6 de Junio del 2002
estrellaestrellaestrellaestrellaestrella
Gracias por la ayuda, la necesitaba como pan para el dasayuno. Excelente idea, de verdad gracias por pensar en los demás
Responder
Nada que ver
8 de Marzo del 2006
estrellaestrellaestrellaestrellaestrella
No tiene nada que ver la descripcion, si le pones 11.11 y lo redondeas ovbiamente le quita todos los decimales
Responder
juanma
9 de Marzo del 2006
estrellaestrellaestrellaestrellaestrella
Quiero felicitaros por el tutorial, ya que javaScript "falla" al utilizar operaciones con decimales.
A mi me ha resultado muy útil
Gracias
juanma
Responder
Rolando Canales
22 de Agosto del 2007
estrellaestrellaestrellaestrellaestrella
Como hago si quisiera redondear con 1 o con 3 decimales
Responder
Eleazar
6 de Noviembre del 2007
estrellaestrellaestrellaestrellaestrella
el viejo truco del redondeo. Y el que dijo q 11.11 no se puede pues q vaya a probar, sale 11.11 igual.
Para tres decimales dividir y multiplicar por 1000 y asi sucesivamente
Responder
Gabriel
7 de Septiembre del 2008
estrellaestrellaestrellaestrellaestrella
MMMM, no anda
Responder
JhonC
8 de Julio del 2009
estrellaestrellaestrellaestrellaestrella
Buen aporte, rapido y sencillo
Responder
Victor Santis
27 de Octubre del 2009
estrellaestrellaestrellaestrellaestrella
Excelente y efectivo, asi de sencillo!!! Gracias
Responder
DIOGO
20 de Noviembre del 2009
estrellaestrellaestrellaestrellaestrella
ésta es mejor

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
function roundNumber(number, decimals, decimaSeparator )
{
    var returnNumber = number.toString(); //me aseguro q no sea array
    if(!isNaN(parseFloat(returnNumber)))//me aseguro q sea numero
    {
        var isNeg = (returnNumber.indexOf("-")==0);
        returnNumber = returnNumber.replace("-","").replace(",",".");
 
    /********Normalizo punto y cero izq*****/
        returnNumber = parseFloat(returnNumber).toString();
        var pointIdx = returnNumber.indexOf(".");
        switch(pointIdx)
        {
            case -1://no tiene punto
                pointIdx = returnNumber.length;
                if(decimals > 0)
                    returnNumber += ".";
            break;
            case 0://no tiene cero adelante
                returnNumber = "0"+returnNumber;
                pointIdx = 1;
            break;
        }
        var len = returnNumber.length;
    /********************/
        if(len-pointIdx >= decimals)//si sobran numeros trunco, y me guardo el resto
        {
            var rest = returnNumber.substring(pointIdx+decimals+1);
            //al resto le pongo un punto delante y lo redondeo a int
            returnNumber = returnNumber.substring(0, pointIdx + ((decimals>0)?1:0) + decimals);
            var floatRest = Math.round("."+rest) ;
            if(floatRest > 0)
            {    //le sumo el redondeo/decimales  al numero original
                var floatnumber= (floatRest /Math.pow(10,decimals) )  ;
                floatnumber += parseFloat(returnNumber);
                floatnumber += (0.001 /Math.pow(10,decimals)); //redondeo float
                returnNumber = floatnumber.toString().substring(0,pointIdx + decimals+  ((decimals>0)?1:0) );
            }
        }
    /********Normalizo punto y cero izq*****/
        returnNumber = parseFloat(returnNumber).toString();
        pointIdx = returnNumber.indexOf(".");
        switch(pointIdx)
        {
            case -1://no tiene punto
                pointIdx = returnNumber.length;
                if(decimals > 0)
                    returnNumber += ".";
            break;
            case 0://no tiene cero adelante
                returnNumber = "0"+returnNumber;
                pointIdx = 1;
            break;
        }
        len = returnNumber.length;
    /*********************/
        if(len-pointIdx <= decimals && decimals>0)//    si faltan ceros, relleno
        {
            for(var i=len-pointIdx; i<=decimals; i++)
            {
                returnNumber += "0";
            }
        }
        //si era negativo agrego el signo y dejo el separador
        returnNumber =  ((isNeg)?"-":"") + returnNumber.replace(".",decimaSeparator);
    }
    else
        returnNumber = "NaN";
    return returnNumber;
}
Responder
Braffy
4 de Febrero del 2011
estrellaestrellaestrellaestrellaestrella
existe una funcion que lo hace sin tanto rodeo

1
numero=numero.toFixed(decimales)
Responder
2 de Junio del 2015
estrellaestrellaestrellaestrellaestrella
rayos! me funciono de a pelos
Responder

Comentar la versión: Versión 1 - redondeo a 2 decimales

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

Versión 2 - permite definir el numero de decimales
estrellaestrellaestrellaestrellaestrella(2)

Publicado el 3 de Junio del 2015gráfica de visualizaciones de la versión: Versión 2 - permite definir el numero de decimales
14.675 visualizaciones desde el 3 de Junio del 2015
http://lwp-l.com/s24