Social Icons

twitter facebook google plus linkedin

viernes, 9 de diciembre de 2011

Los puntos y comas decimales: Víctimas de la cultura

... Y lo peor de todo, es que somos víctimas de eso nosotros también.

Hola Mundo, más botado no puede quedar mi blog. He decidido volver con un tema que me dió dolores de cabeza varios días y tiene que ver con las diferencias culturales y las matemáticas.

Me encontraba programando una aplicación sencilla que hace un formula sencilla para el cálculo de IMC (Índice de Masa Corporal). Esta fórmula  exige ingresar un valor decimal (una expresión numérica que contiene decimales).

El problema es que el lenguaje no tiene control sobre la realización de este tipo de cálculo, sino que para nosotros puede que la coma sea un indicador decimal o que sea el punto, pero de cualquier modo siempre va a ser diferente con otras culturas (como la inglesa).

Gracias a Dios, Alá, El Gran Arquitecto, belcebú (no sé a quien le rinden culto) este problema fue solucionado con una clase ya perteneciente al framework de .NET.

En VB.NET el tema es sencillo

  1. Importar System.Globalization

  2. Agregar estas líneas al método load o loaded:


System.Threading.Thread.CurrentThread.CurrentCulture = New System.Globalization.CultureInfo("en-US")
System.Threading.Thread.CurrentThread.CurrentCulture.NumberFormat.NumberDecimalSeparator = "."


Con eso, el . siempre será un separador decimal en nuestra aplicación.