none
Cambio de Configuracion Regional e Idioma (Cambio de estandares y formatos)

    Pregunta

  •  

    Hola muuy buen dia a todos.

     

     

    Necesito que me ayuden con algo que me tiene a mal andar ya mucho tiempo.

     

    Tengo desarrollada una aplicacion en C# y lo que pasa que para los dobles por lo general se usan los puntos pero eso tambien influye de como este la configuracion regional, porque algunas computadoras estan ya configuradas para que utilicen las comas como separador de los dobles, y ahi el error porque dentro del programa si yo ingreso 45.54 no hay problema pero si ingreso 45,54 me lo coge como si ubiera puesto 4545.

     

    Alguien me puede decir se hay algun codigo que me permita colocarlo dentro del codigo para cambiar la configuracion regional o en si para que solo utilice los puntos y sea independiente de los standares y formatos de la configuracion regional.

     

    Les agradeceria mucho que me puedan ayudar

    jueves, 30 de octubre de 2008 19:31

Respuestas

  • ejemplo para establecer la configuracion regional de la aplicacion en español españa para el formato de numero

    Code Snippet

     

            CultureInfo ci = new CultureInfo("es-es");

            CultureInfo.CurrentCulture.NumberFormat = ci.NumberFormat;

            CultureInfo.CurrentUICulture.NumberFormat = ci.NumberFormat;

     

     

    jueves, 30 de octubre de 2008 21:32

Todas las respuestas

  • ejemplo para establecer la configuracion regional de la aplicacion en español españa para el formato de numero

    Code Snippet

     

            CultureInfo ci = new CultureInfo("es-es");

            CultureInfo.CurrentCulture.NumberFormat = ci.NumberFormat;

            CultureInfo.CurrentUICulture.NumberFormat = ci.NumberFormat;

     

     

    jueves, 30 de octubre de 2008 21:32
  • Hola, todo esto va al inicializar mi aplicación windows mobile:

     

    using System.Linq;

    using System.Collections.Generic;

    using System.ComponentModel;

    using System.Data;

    using System.Drawing;

    using System.Text;

    using System.Threading;

    using System.Windows.Forms;

    using System.Data.SqlServerCe;

    using H1xSDK;

    using OpenNETCF.ComponentModel;

    using elGuille.info.Util.Conversion;

    using System.Runtime.InteropServices;

     

    namespace GPSTracking_On_Line

    {

        public partial class frmPrincipal : Form

        {

            AtributosMetodos am = new AtributosMetodos();

            public frmPrincipal()

    { try

    { Cursor.Current = Cursors.Default; InitializeComponent();

    am.CambiarConfiguracionRegional();  

    ...

    }

    }

        }

    }

        public void CambiarConfiguracionRegional()

        {

            try

            {

                RegistryKey clave = Registry.LocalMachine.OpenSubKey("nls", true);

                clave.SetValue("DefaultLCID", 0x0409);//English - United States

                clave.Close();

     

                clave = Registry.LocalMachine.OpenSubKey("nls\\overrides", true);

                clave.SetValue("LCID", 0x0409);//English - United States

                clave.Close();

     

                CultureInfo ci = new CultureInfo("en-us");

                //ci.DateTimeFormat.ShortDatePattern = "dd-MM-yyyy";

                //ci.DateTimeFormat.LongDatePattern = "dd, MMM dd, yy";

                //CultureInfo.CurrentCulture.DateTimeFormat = ci.DateTimeFormat;

                CultureInfo.CurrentCulture.NumberFormat = ci.NumberFormat;

                CultureInfo.CurrentUICulture.NumberFormat = ci.NumberFormat;

            }

            catch (Exception ex)

            {

                MessageBox.Show(ex.Message);

            }

        }

     

    Justo en la línea marcada con negrita y subrayada me da el siguiente error...

    "InvalidOperationException"

     

    Estoy tratando de establecer la configuración regional desde una aplicación para Windows Mobile 5.0

    Ademas quiero quitar los comentarios a las líneas comentadas, valga la redundancia, para la configuración de fecha corta y larga como sigue...

     

     

                ci.DateTimeFormat.ShortDatePattern = "dd-MM-yyyy";

                ci.DateTimeFormat.LongDatePattern = "dd, MMM dd, yy";

                CultureInfo.CurrentCulture.DateTimeFormat = ci.DateTimeFormat;

     

     

    Favor indicarme en qué estoy equivocándome, gracias.

     


    martes, 25 de octubre de 2011 16:06