Formatos numéricos según la cultura regional

jueves, 24 de julio de 2008

Trabajando con formatos numéricos, nos damos cuenta que mientras en un pais se utiliza la coma como separador decimal, en otros se utiliza como separador de miles y lo mismo sucede con el punto.

Este tipo de problemas viene dado normalmente, a que estamos consumiendo servicios (datos) de otros servidores que tienen formatos númericos, de fechas.... distintos al nuestro (dandose este caso incluso entre servidores internos de una misma organización, servidor web, de base de datos...).

Tambien sucede que durante la fase de desarrollo de las aplicaciones nuestro sistema esta en "Español" y cuando subimos a producción a veces suele estar en "Ingles" o viceversa; esto suele dar muchos problemas de refactorización de código.



latitud = double.Parse(valorString);



En .NET, una buena solución para este último punto, es forzar la utilización de un formato numérico perteneciente a una "Culture" que nosotros definamos.



NumberFormatInfo numberInfo = CultureInfo.GetCultureInfo("es-ES").NumberFormat;
Latitud = double.Parse(valorString, numberInfo);



De esta manera, por ejemplo, evitaremos posibles fallos de conversión de formatos numericos cuando nuestra máquina de desarrollo este en "Español" y el framework del servidor en "Ingles".


- FIN -

0 comentarios: