Aunque pueda parecer una tontería, seguramente te sorprenderías de saber la cantidad de proyectos que aparecen con fallos y excepciones no controladas por el mero hecho de no hacer bien la conversión de números, desde los valores que introduce un usuario al tipo de dato adecuado.
Así, muchos hacen caso omiso de los maravillosos métodos Parse o TryParse que todos los tipos numéricos nos ofrecen, y tratan de convertirlos usando sus propios sistemas. Este tipo de programación viene heredada de tiempos peores, antes de .NET, y hay que desterrarlas.
Al igual que pasa con los números también suele haber problemas con las fechas, aunque por suerte en este caso gracias a la existencia de selectores visuales de fecha los problemas se minimizan.
Hay una pregunta interesante que surge en muchas ocasiones en el ámbito de esta problemática y es ¿cómo podemos saber el formato de un número en la cultura actual del sistema de nuestro usuario?
Para responderlo hay métodos de todos los tipos: desde el que convierte en cadena el resultado de dividir dos números y extrae el primer carácter no numérico desde el final para averiguar el separador de decimales, hasta el que simplemente supone siempre que el separador va a ser una coma (sin contar con la gran diversidad del mundo). ¿Cuál es la mejor forma de averiguar estas cosas en .NET?
La clase NumberFormat tiene la respuesta. El siguiente código nos da la información que necesitamos:
using System.Globalization;
NumberFormatInfo nfi = System.Globalization.CultureInfo.CurrentCulture.NumberFormat;
string SeparadorDecimal = nfi.NumberDecimalSeparator;
string separadorDeMiles = nfi.NumberGroupSeparator;
string signoNegativo = nfi.NegativeSign;
Interesante y fácil ¿verdad?
Otro truco y más material para investigar: ¿cómo puedo averiguar los nombres de los días de la semana en la cultura actual? Solución: la clase DateTimeFormatInfo
DateTimeFormatInfo dtfi = System.Globalization.DateTimeFormatInfo.CurrentInfo;
string[] nombresDias = dtfi.DayNames;
Y tienes una bonita matriz con los días de la semana en el idioma que quieras, empezando por el Domingo.
¡Esperamos que te resulte útil!