No JS, se você geralmente usa a função tofixada se reter n bits após o ponto decimal, poderá usar o
A cópia do código é a seguinte:
<Script Language = "JavaScript">
Document.Write ("<H1> JS mantém dois números decimais exemplo </h1> <br>");
var a = 2.1512131231231321;
document.write ("valor original:"+a+"<br>");
Document.Write ("Dois pontos decimais:"+A.Tofixed (2)+"<br> quatro pontos decimais"+A.Tofixed (4));
</script>
Função de conversão arredondada, como segue:
A cópia do código é a seguinte:
função redonda (v, e) {
var t = 1;
para (; e> 0; t*= 10, e--);
para (; e <0; t/= 10, e ++);
return math.round (v*t)/t;
}
Nos parâmetros:
v significa o valor a ser convertido
e indica o número de dígitos a serem mantidos
Os dois para a função, este é o ponto -chave.
O primeiro para o caso em que o ponto decimal está do lado direito, ou seja, quantos dígitos para o lado direito do ponto decimal são retidos;
O segundo para o caso no lado esquerdo do ponto decimal, ou seja, quantos dígitos no lado esquerdo do ponto decimal são retidos.
A função de for é calcular o valor de t, ou seja, o múltiplo de quantas vezes v deve ser aumentado ou reduzido (múltiplo = t).
Pois aqui utiliza duas características para, julgamento condicional e contra -acumulação (loop),
Quando E atende à condição para, para continua, e E se acumula cada vez (e é criar uma condição que não atenda ao ciclo), o valor de t também é calculado.
Finalmente, o método redondo nativo é usado para calcular o resultado do V aumentado/encolhido e, em seguida, o resultado é aumentado/encolhido para o múltiplo correto.
A seguir, são apresentados vários exemplos de números de dois dígitos retidos
A cópia do código é a seguinte:
<script type = "text/javascript">
// mantém dois lugares decimais
// Função: Número do ponto flutuante redondo e pegue 2 lugares decimais após o ponto decimal
função Todecimal (x) {
var f = parsefloat (x);
if (isnan (f)) {
retornar;
}
f = Math.Round (x*100)/100;
retornar f;
}
// O sistema mantém 2 casas decimais, como: 2, 00 serão adicionadas após 2, ou seja, 2,00 serão adicionadas.
função Todecimal2 (x) {
var f = parsefloat (x);
if (isnan (f)) {
retornar 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';
}
retorno s;
}
função fomatfloat (src, pos) {
Return Math.Round (SRC*Math.pow (10, POS))/MATH.POW (10, POS);
}
// arredondamento
alerta ("Reserve 2 locais decimais:" + Todecimal (3.14159267));
alerta ("forçado a reter 2 casas decimais:" + Todecimal2 (3.14159267));
alerta ("Reserve 2 locais decimais:" + Todecimal (3.14559267));
alerta ("forçado a reter 2 decimais:" + Todecimal2 (3.15159267));
alerta ("Reserve 2 locais decimais:" + fomatfloat (3.14559267, 2));
alerta ("Reserve 1 Local decimal:" + fomatfloat (3.15159267, 1));
// cinco rodadas e seis rodadas
Alerta ("Reserve 2 locais decimais:" + 1000.003.Tofixed (2));
alerta ("reserva 1 local decimal:" + 1000.08.tofixado (1));
Alerta ("Reserve 1 Local decimal:" + 1000.04.Tofixed (1));
alerta ("reserva 1 local decimal:" + 1000.05.Tofixed (1));
// contagem científica
alerta (3.1415.toexponencial (2));
alerta (3.1455.toexponencial (2));
alerta (3.1445.toexponencial (2));
alerta (3.1465.toexponencial (2));
alerta (3.1665.toexponencial (1));
// exatamente para n posição, sem posição n
alerta ("exatamente para o segundo ponto decimal" + 3.1415.Toprecision (2));
alerta ("exatamente para o terceiro lugar decimal" + 3.1465.Toprecision (3));
alerta ("exatamente para o segundo ponto decimal" + 3.1415.Toprecision (2));
alerta ("exatamente para o segundo ponto decimal" + 3.1455.Toprecision (2));
alerta ("exatamente para o 5º lugar decimal" + 3.141592679287.toprecisão (5));
</script>
O acima é todo o código. É super simples? Espero que seja útil para todos