none
Problemas con separadores de decimales RRS feed

  • Pregunta

  • bueno mi problema es el siguiente, en mi pais venezuela usamos la "," para separar decimales pero en otros se usa el "." entonces mi problema comienza cuando voy a guardar la data en mysql resulta que la data numerica como float, double etc requieren estar formateadas con el "." como separador decimal aunque use el format y le espesifique que lo quieor con "." o con "," parece que este toma el separador decimal de la configuracion regional del pc y deacuero a eso el elije el separador, alguien sabe como hacer que sea universal? las conversiones
    osea independientemente de mi configuracion regional yo pueda convertir al formato que quiera.

    o si hay formas mejores oigo sugerencias gracias.
    martes, 17 de julio de 2007 23:53

Respuestas

  • Supongo que tu problema se origina porque por alguna razón conviertes tus números a cadenas antes de enviarlos a MySql. Si es ese el caso, lo que puedes hacer es convertir el número a cadena explícitamente utilizando el método ToString() y especificar InvariantCulture en su parámetro, para que así el número asuma un formato neutral. Por ejemplo:

     

    Code Snippet

    Dim numeroString As String = miNumero.ToString(System.Globalization.CultureInfo.InvariantCulture)

      

    Con eso, no importa cuál sea la configuración regional de tu PC, ToString siempre te devolverá la representación del número con un "." como separador de decimales.

     

    Espero te sea de utilidad,

     

    Julio.

    domingo, 22 de julio de 2007 3:09

Todas las respuestas

  • Has probado con NumberformatInfo:

     

    Code Snippet

    double d = 100.89;

    NumberFormatInfo tipo_formato = new NumberFormatInfo();

    tipo_formato.NumberGroupSeparator = ".";

    tipo_formato.NumberDecimalSeparator = ",";

    tipo_formato.NumberDecimalDigits = 2;

    Console.Write(d.ToString(tipo_formato));

     

    Salu2

     

    Colabora con el foro: Si la respuesta te es de utilidad marca la pregunta como respondida.

    Luis Ruiz Pavón

    MCP - MCTS

    Blog: http://geeks.ms/blogs/lruiz

    miércoles, 18 de julio de 2007 12:29
  • la verdad no entiendo ese codigo =/.
    miércoles, 18 de julio de 2007 20:42
  • Supongo que tu problema se origina porque por alguna razón conviertes tus números a cadenas antes de enviarlos a MySql. Si es ese el caso, lo que puedes hacer es convertir el número a cadena explícitamente utilizando el método ToString() y especificar InvariantCulture en su parámetro, para que así el número asuma un formato neutral. Por ejemplo:

     

    Code Snippet

    Dim numeroString As String = miNumero.ToString(System.Globalization.CultureInfo.InvariantCulture)

      

    Con eso, no importa cuál sea la configuración regional de tu PC, ToString siempre te devolverá la representación del número con un "." como separador de decimales.

     

    Espero te sea de utilidad,

     

    Julio.

    domingo, 22 de julio de 2007 3:09