App inventor 2 en español
Cómo programar los teléfonos móviles con Android.
Curso de App inventor 2 en español - Juan Antonio Villalpando
-- Tutorial de iniciación de App Inventor 2 en español --
Volver al índice del tutorial
___________________________
169L.- Separador de miles y coma decimal con JavaScript.
p169L_javascript_separamiles.aia
- En tutoriales anteriores vimos como separar un número en miles y decimal, es decir escribimos:
123456789,4567 y obtenemos
123.456.789,4567
76.- Separador de miles en un número.
76B.- Separador de miles en un número. Otro método.
- Como ves es un código largo, vamos a realizarlo ahora mediante JavaScript.
- Además de poner los separadores de miles y la coma, se podrá elegir el número de decimales presentados.
_________________
- Diseño.
- Puedes poner en Ancho y el Alto del VisorWeb a 1 pixel, ya que no se envía ninguna información visible.
- Subimos el archivo miles.htm
_________________
- Bloques.
- Si estás probando la aplicación deja el bloque file:///mnt/sdcard/AppInventor/assets/miles.htm
- Si vas a Generar la aplicación para crear el archivo instalador .apk, previamente a Generar debes cambiar a: file:///android_asset/miles.htm
_________________
- Países según su separador decimal.
- En los países de color verde claro utilizan: 123.456.789,1234
- En los países de color azul utilizan: 123,456,789.1234
- En los países de color verde fuerte utilizan los dos anteriores.
- En los países de color rojo utilizan: 123 456 789٫1234
_________________
- Archivo miles.htm
- En el formato europeo-sudamericano. El separador decimal es la coma y el separador de miles el punto.
miles.htm |
<!DOCTYPE html>
<html>
<head><meta charset="utf-8"></head><body>
<script>
datos = window.AppInventor.getWebViewString().split(",");
resultado = datos[0].toString().replace(/\B(?=(\d{3})+(?!\d))/g, ".");
if (datos[1]){ resultado += "," + datos[1].substr(0,3); }
window.AppInventor.setWebViewString(resultado);
// Juan Antonio Villalpando
</script>
</body></html>
|
- En el formato inglés-norteamericano. El separador decimal es el punto y el separador de miles la coma.
miles.htm |
<!DOCTYPE html>
<html>
<head><meta charset="utf-8"></head><body>
<script>
datos = window.AppInventor.getWebViewString().split(".");
resultado = datos[0].toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
if (datos[1]){ resultado += "." + datos[1].substr(0,3); }
window.AppInventor.setWebViewString(resultado);
// Juan Antonio Villalpando
</script>
</body></html>
|
_________________
- Comentarios.
- Puedes elegir uno de los dos archivos según quieras utilizar el separador decimal.
- Fíjate en esta parte: datos[1].substr(0,3);
indica que saldrá con 3 decimales.
- El código que realiza el proceso de poner los puntos de los miles resultado = datos[0].toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
es bastante complicado, utiliza Expresiones regulares (Regexp).
https://www.w3schools.com/jsref/jsref_obj_regexp.asp
_________________
- Propuesta.
- Modifica el archivo miles.htm para que según le llegue un separador decimal punto o coma, haga la separación conveniente según el modelo adoptado por el país.
- Para que sea más sencillo esa adaptación automática se hará cuando el número lleve decimal, por ejemplo 3456,56 o bien 3456.56. Pero no lo hará si el número sea entero.
__________________________________
|