En JS, si generalmente usa la función tofijo si retiene n bits después del punto decimal, puede usar el
La copia del código es la siguiente:
<script language = "javaScript">
document.write ("<h1> js conserva dos números decimales ejemplo </h1> <br>");
var a = 2.1512131231231321;
document.write ("Valor original:"+a+"<br>");
document.write ("Dos puntos decimales:"+a.tofixed (2)+"<br> cuatro puntos decimales"+a.tofixed (4));
</script>
Función de conversión redondeada, como sigue:
La copia del código es la siguiente:
función redonda (v, e) {
var t = 1;
para (; e> 0; t*= 10, e--);
para (; e <0; t/= 10, e ++);
return math.round (v*t)/t;
}
En los parámetros:
V significa el valor a convertir
e indica el número de dígitos que se retendrán
Los dos para en la función, este es el punto clave.
El primero para el caso en el que el punto decimal está en el lado derecho, es decir, cuántos dígitos al lado derecho del punto decimal se conservan;
El segundo para es para el caso en el lado izquierdo del punto decimal, es decir, cuántos dígitos al lado izquierdo del punto decimal se conservan.
La función de For es calcular el valor de t, es decir, el múltiplo de cuántas veces V debe ampliarse o reducirse (múltiple = t).
Porque aquí utiliza dos características en el juicio condicional y la acumulación de contador (bucle),
Cuando E cumple con la condición para, para continuar, y E se acumula cada vez (e es crear una condición que no cumpla con el ciclo), también se calcula el valor de t.
Finalmente, el método de reducción nativa se usa para calcular el resultado de la V agrandada/encogible, y luego el resultado es agrandado/reducible al múltiplo correcto.
Los siguientes son varios ejemplos de números retenidos de dos dígitos
La copia del código es la siguiente:
<script type = "text/javaScript">
// retener dos decimales
// Función: número de punto flotante redondo y tome 2 decimales después del punto decimal
función TODECIMAL (X) {
var f = parsefloat (x);
if (isnan (f)) {
devolver;
}
F = Math.round (x*100)/100;
regresar f;
}
// El sistema conserva 2 decimales, como: 2, 00 se agregarán después de 2, es decir, se agregarán 2.00.
función tOdecimal2 (x) {
var f = parsefloat (x);
if (isnan (f)) {
devolver falso;
}
var f = math.round (x*100)/100;
var s = f.ToString ();
var rs = s.indexof ('.');
if (rs <0) {
rs = s.length;
s += '.';
}
while (s.length <= rs + 2) {
s += '0';
}
regreso s;
}
función fomatfloat (src, pos) {
return math.round (src*math.pow (10, pos))/math.pow (10, pos);
}
// redondeo
alerta ("Reserve 2 lugares decimales:" + TODECIMAL (3.14159267));
alerta ("forzado a retener 2 lugares decimales:" + TODECIMAL2 (3.14159267));
alerta ("Reserve 2 lugares decimales:" + TODECIMAL (3.14559267));
alerta ("forzado a retener 2 decimales:" + TODECIMAL2 (3.15159267));
alerta ("Reserve 2 lugares decimales:" + fomatfloat (3.14559267, 2));
alerta ("Reserve 1 lugar decimal:" + fomatfloat (3.15159267, 1));
// cinco rondas y seis rondas
alerta ("Reserve 2 lugares decimales:" + 1000.003.tofixed (2));
alerta ("Reserve 1 lugar decimal:" + 1000.08.tofixed (1));
alerta ("Reserve 1 lugar decimal:" + 1000.04.tofixed (1));
alerta ("Reserve 1 lugar decimal:" + 1000.05.tofixed (1));
// recuento científico
alerta (3.1415.ToExponential (2));
alerta (3.1455.ToExponential (2));
alerta (3.1445.ToExponential (2));
alerta (3.1465.ToExponential (2));
alerta (3.1665.ToExponential (1));
// exactamente a la posición N, sin posición n
alerta ("exactamente al segundo punto decimal" + 3.1415.toPrecision (2));
alerta ("exactamente al tercer lugar decimal" + 3.1465.toprecision (3));
alerta ("exactamente al segundo punto decimal" + 3.1415.toPrecision (2));
alerta ("exactamente al segundo punto decimal" + 3.1455.toPrecision (2));
alerta ("Exactamente al quinto lugar decimal" + 3.141592679287.toprecision (5));
</script>
Lo anterior es todo el código. ¿Es súper simple? Espero que sea útil para todos