Foros del Web » Programando para Internet » Javascript »

Poner el total en formato de moneda

Estas en el tema de Poner el total en formato de moneda en el foro de Javascript en Foros del Web. Hola a todos tengo el siguiente problema estoy realizando un sistema de cotizador si el checkbox seleccionado sume y si es deseleccionado reste la cantidad ...
  #1 (permalink)  
Antiguo 26/07/2010, 10:18
 
Fecha de Ingreso: julio-2010
Mensajes: 19
Antigüedad: 13 años, 9 meses
Puntos: 1
Poner el total en formato de moneda

Hola a todos tengo el siguiente problema estoy realizando un sistema de cotizador si el checkbox seleccionado sume y si es deseleccionado reste la cantidad esta parte ya le tengo realizada pero el total lo necesito con separador de miles e intentado de varias formas pero no le doy al formato espero alguien me pueda ayudar a solucionarlo de antemano gracias por su atención. Les dejo el script.

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script>
var total=0;

function sumar(valor) {
total += valor;
document.formulario.total.value=total;
}

function restar(valor) {
total-=valor;
document.formulario.total.value=total;
}

</script>
</head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</head>

<body>
<form name=formulario>
<input name="checkbox" type="checkbox" onClick="if (this.checked) sumar(1000.98); else restar(1000.98)" value="checkbox">$1,000.98<br>
<input name="checkbox" type="checkbox" onClick="if (this.checked) sumar(2000.50); else restar(2000.50)" value="checkbox">$2,000.50<br>
<input type="text" name="total" value="0">
</form>
</body>
</html>
  #2 (permalink)  
Antiguo 26/07/2010, 13:12
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: Poner el total en formato de moneda

Hola

Aquí tienes dos maneras. Te recomienda la segunda ya que la primera tiene carencias
Código Javascript:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta name="http-equiv" content="Content-type: text/html; charset=UTF-8"/>
  5. <script type="text/javascript">
  6. var valor = Math.round(1750000000*Math.random())+50000;
  7. var cadena = valor.toString().split("").reverse().join("");
  8. var patron = /\d{3}/g;
  9. num = cadena.replace(patron, function(encaja){return encaja+'.';});
  10. document.write('Esta primera manera no funciona si la cantidad de d&iacute;gitos del n&uacute;mero es multiplo de 3<br/>')
  11. document.write(num.toString().split("").reverse().join("")+ '<br/>')
  12.  
  13.  
  14.  
  15. for (var z = cadena.length; z >=0; z--) {
  16. numero = cadena.charAt(z)
  17. if ((cadena.length >= 4 && z ==3 ) || (cadena.length >= 7 && z ==6 ) || (cadena.length >= 10 && z == 9 ) || (cadena.length >= 13 && z ==12 ) || (cadena.length >= 16 && z ==15 )) {
  18. numero +=  ".";
  19. }
  20. document.write(numero);
  21. }
  22. </script>
  23. </head>
  24. <body>
  25. </body>
  26. </html>
Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #3 (permalink)  
Antiguo 26/07/2010, 14:12
 
Fecha de Ingreso: julio-2010
Mensajes: 19
Antigüedad: 13 años, 9 meses
Puntos: 1
Respuesta: Poner el total en formato de moneda

Gracias por tu respuesta, al aplicar cualquiera de las dos opciones no me realiza la suma NaN sabras el porque? añadi el script entre la etiqueta head.
  #4 (permalink)  
Antiguo 26/07/2010, 15:05
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: Poner el total en formato de moneda

Hola
Veamos así
Código Javascript:
Ver original
  1. <html xmlns="http://www.w3.org/1999/xhtml">
  2. <head>
  3. <script>
  4. var total=0;
  5. function operaciones(bol, valor) {
  6. if (bol) {
  7. total += valor;
  8.  
  9. } else {
  10. total-=valor;
  11. }
  12.  
  13. var entero = '';
  14.  
  15. Entero_Decimal = total.toString().split('.');
  16.  
  17. cadena = Entero_Decimal[0].split('').reverse().join('');
  18.  
  19. for (var z = cadena.length; z >=0; z--) {
  20. numero = cadena.charAt(z)
  21. if ((cadena.length >= 4 && z ==3 ) || (cadena.length >= 7 && z ==6 ) || (cadena.length >= 10 && z == 9 ) || (cadena.length >= 13 && z ==12 ) || (cadena.length >= 16 && z ==15 )) {
  22. numero +=  ".";
  23. }
  24.  
  25. entero += numero;
  26. }
  27.  
  28. if(Entero_Decimal[1]) {decimales = ','+ Entero_Decimal[1];}else{decimales='';}
  29.  
  30. document.formulario.total.value=entero + decimales;
  31.  
  32. }
  33.  
  34.  
  35.  
  36. </script>
  37. </head>
  38.  
  39. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  40. <title>Documento sin t&#237;tulo</title>
  41. </head>
  42.  
  43. <body>
  44. <form name=formulario>
  45. <input name="checkbox" type="checkbox" onClick="operaciones(this.checked,1000.98)" value="checkbox">$1,000.98<br>
  46. <input name="checkbox" type="checkbox" onClick="operaciones(this.checked,2000.50)" value="checkbox">$2,000.50<br>
  47. <input type="text" name="total" value="0">
  48. </form>
  49. </body>
  50. </html>
Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #5 (permalink)  
Antiguo 26/07/2010, 15:38
 
Fecha de Ingreso: julio-2010
Mensajes: 19
Antigüedad: 13 años, 9 meses
Puntos: 1
Respuesta: Poner el total en formato de moneda

funciona excelentemente muchas gracias por la ayuda te devo una

Etiquetas: formato, moneda, poner, totales
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 13:02.