JavaScript - Porcentajes Javascript dígito de mil, redondeo en resultado

 
Vista:
Imágen de perfil de Eduardo Arroyo
Val: 159
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Porcentajes Javascript dígito de mil, redondeo en resultado

Publicado por Eduardo Arroyo (176 intervenciones) el 07/11/2019 17:02:09
Hola encontre este Script el cual realiza el calculo del porcentaje pero quisiera adicionarle algunos cambios

1. Que donde se escriba el valor a calcular se separe con el punto de mil al ir escribiendo es decir al escribir el numero 1000 este se ponga asi 1.000

2. Se haga el calculo del porcentaje sin problemas del decimal ya que estos calculos cuando se usa el decimal sale otro valor o resultado.

3. El valor se redondee hacia arriba es decir si sale el valor 1.890 lo muestre 2.000

aca pongo el Codigo:

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
<html>
<head>
<script>
function onKeyPressBlockChars(e,numero){
    var key = window.event ? e.keyCode : e.which;
    var keychar = String.fromCharCode(key);
    reg = /\d|\./;
    if (numero.indexOf(".")!=-1 && keychar=="."){
    	return false;
  	}else{
    	return reg.test(keychar);
  	}
}
function calculaPorcentajes(numero){
	document.getElementById("porcent8").value=Math.floor(numero*8)/100;
	document.getElementById("porcent15").value=Math.floor(numero*15)/100;
}
</script>
</head>
<body>
Cantidad: <input type="text" name="cantidad" onKeyPress="return onKeyPressBlockChars(event,this.value);" onKeyUp="calculaPorcentajes(this.value)"><br><br>
8%: <input type="text" name="porcent8" id="porcent8"><br><br>
15%: <input type="text" name="porcent15" id="porcent15"><br><br>
</body>
</html>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de JESUS DAVID ARIZA ROYETH
Val: 34
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Porcentajes Javascript dígito de mil, redondeo en resultado

Publicado por JESUS DAVID ARIZA ROYETH (10 intervenciones) el 07/11/2019 22:00:03
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
<html>
<head>
<script>
function onKeyPressBlockChars(e,numero){
    var key = window.event ? e.keyCode : e.which;
    var keychar = String.fromCharCode(key);
    reg = /\d|\./;
    if (numero.indexOf(".")!=-1 && keychar=="."){
      return false;
    }else{
      return reg.test(keychar);
    }
}
function calculaPorcentajes(numero){
  document.getElementById("porcent8").value=Math.round(numero*0.08/1000)*1000;
  document.getElementById("porcent15").value=Math.round(numero*0.15/1000)*1000;
}
//-----SCRIPT SEPARADOR DE MILES---------
function format(input)
{
var num = input.value.replace(/\./g,'');
if(!isNaN(num)){
num = num.toString().split('').reverse().join('').replace(/(?=\d*\.?)(\d{3})/g,'$1.');
num = num.split('').reverse().join('').replace(/^[\.]/,'');
input.value = num;
}
//-- ALERTA SOLO NUMEROS 
else{ alert('Solo se permiten numeros');
input.value = input.value.replace(/[^\d\.]*/g,'');
}
}
 
  </script>
</head>
<body>
Cantidad: <input type="text" name="cantidad" onKeyPress="return onKeyPressBlockChars(event,this.value);" onKeyUp="calculaPorcentajes(this.value)"><br><br>
 
8%: <input type="text" name="porcent8" id="porcent8" onChange="format(this)"><br><br>
15%: <input type="text" name="porcent15" id="porcent15" onChange="format(this)"><br><br>
</body>
</html>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Eduardo Arroyo
Val: 159
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Porcentajes Javascript dígito de mil, redondeo en resultado

Publicado por Eduardo Arroyo (176 intervenciones) el 07/11/2019 22:23:34
Hola JESUS DAVID ARIZA ROYETH mil gracias, funciona perfecto pero le adicione para que se ponga a medida que se escribe el puntito separador de mil y asi no funciona :( :(

y otra cosa al intentar poner un punto al final o poner esta cifra 10.000.000 sale en los Resultados el error NaN

aca pongo el script

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
<html>
<head>
<script>
function onKeyPressBlockChars(e,numero){
    var key = window.event ? e.keyCode : e.which;
    var keychar = String.fromCharCode(key);
    reg = /\d|\./;
    if (numero.indexOf(".")!=-1 && keychar=="."){
      return false;
    }else{
      return reg.test(keychar);
    }
}
function calculaPorcentajes(numero){
  document.getElementById("porcent8").value=Math.round(numero*0.08/1000)*1000;
  document.getElementById("porcent15").value=Math.round(numero*0.15/1000)*1000;
}
//-----SCRIPT SEPARADOR DE MILES---------
function format(input)
{
var num = input.value.replace(/\./g,'');
if(!isNaN(num)){
num = num.toString().split('').reverse().join('').replace(/(?=\d*\.?)(\d{3})/g,'$1.');
num = num.split('').reverse().join('').replace(/^[\.]/,'');
input.value = num;
}
//-- ALERTA SOLO NUMEROS 
else{ alert('Solo se permiten numeros');
input.value = input.value.replace(/[^\d\.]*/g,'');
}
}
 
  </script>
</head>
<body>
 
Cantidad: <input type="text" name="cantidad" onKeyPress="return onKeyPressBlockChars(event,this.value);" onKeyUp="calculaPorcentajes(this.value);format(this)"><br><br>
 
8%: <input type="text" name="porcent8" id="porcent8" onChange="format(this)"><br><br>
15%: <input type="text" name="porcent15" id="porcent15" onChange="format(this)"><br><br>
</body>
</html>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar