none
Problemas con Decimales y Miles en Reporte

    Question

  • Saludos

     

    He terminado un Programita En Visual studio 2010, en VB , al momento de mandar el reporte hecho en reporviewer me manda los decimales en coma(,) y los miles en punto(.).

    ya verifique configuracion Reginal en Panel de Control, tambien en los campos del reporte esta configurado de tal manera que me de separador de miles y decimales en configuracion Regional Español, Mexico.

    No se si alguien podria Ayudarme, o haya tenido el mismo detalle

    Gracias

     

    Tuesday, May 10, 2011 3:39 AM

Answers

  • Si, mira, el problema era que al ejecutar el reporte de una Tabla en reportviewer los numeros me mostraba puntos para miles y comas para decimales,

    yo trabajo en la version Visual Studio 2010 español. Si tienes el mismo caso entonces, dentro del diseño del reporte  Report.rdlc como yo trabaje con Tablas Tablix selecciona la celda donde esta el numero le das F4 para que muestre las Propiedades, si buscas detalladamente esta una opcion de Lenguaje y ahi escribes o buscas idioma que necesitas, en mi caso es-MX,

    Espero haber ayudado.

    Gracias a Todos

     

    Monday, May 16, 2011 3:51 AM

All replies

  • hola

    solo para validarlo, no has intentado definir una cultura para la aplicacion

    System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("es-MX");

     

    lo ideal seria poner esa linea en el Sub Main(), pero sino colcoala en el load del priemr form o el principal que inicia la aplicacion

    se que por ahi fijar una cultura no es lo mejor, pero al menos para validar que no viene por este lado el problema

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina


    Tuesday, May 10, 2011 3:47 AM
  • Gracias Leandro Por Responder

    En este Caso Inicia con una Forma que se llama Menu, y tiene la herramienta MenuStrip,

    el codigo Load queda asi, con la definicion que me dices:

    Private Sub MenuPrincipal_Load(ByVal sender As System.ObjectByVal e As System.EventArgsHandles MyBase.Load
     
            System.Threading.Thread.CurrentThread.CurrentCulture = New System.Globalization.CultureInfo("es-MX")
     
        End Sub
    

    pero los reportes siguen manejando ejemplo 7.210,00

    no se si estoy haciendo algo mal

    Gracias

     

     

    Tuesday, May 10, 2011 4:10 AM
  • :-)
    Hola,

    ¿Cómo tienes la configuración regional de tu Windows?


    No olvides marcar la respuesta como correcta si te ha sido de utilidad :-)

    [MS-MVP-MCTS]

    Follow me on Facebook or Twitter!

    Mi Perfil MVP en: https://mvp.support.microsoft.com/profile/Lluis
    NUG: http://andorradotnet.com
    Web: http://www.ordeeno.com
    Geeks: http://geeks.ms/blogs/lfranco

    Tuesday, May 10, 2011 7:54 AM
  • Hola!

     

    Independientemente de la configuración regional (que la deberías revisar para ver que está correcta) en el propio informe puedes modificar esos valores. En los campos numéricos tienes una opción para personalizarlos dándole con el botón derecho sobre ellos, "Dar formato a objeto"

     

    Saludos!

    Tuesday, May 10, 2011 11:25 AM
  • pero entonces lo quieres con la configuracion de EEUU ?

    porque pense que era al contrario

    cambia a

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

     

    de esta forma defines la cultura de EEUU y esta si usa el punto para los decimales


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    Tuesday, May 10, 2011 12:09 PM
  • Hola, he cambiado la definicion de la cultura a EEUU en la primera forma que es el Menu de mi proyecto, pero sigue de la misma manera, tambien he revisado las Propiedades del informe y esta todo bien, pero sigue mostrandome el informe con miles en punto y decimales en comas.

    seguire revisando, gracias

     

     

    Tuesday, May 10, 2011 3:36 PM
  • porque no utilizas un replace antes de mandar los datos?

    a = "1.23,56" ' valor

    a = replace(a,".","")

    a= replace(a,",",".")

    a te queda 123.56.

    Yo he tenido problemas con un datagrid al realizar operaciones con numeros, y mi solucion fue esa.

    en el caso que requieras que la coma sea separador de miles, y el punto separador de decimales precisas un replace mas:

    a = replace(a,".",";")

    a= replace(a,",",".")

    a = replace(a,";",",")


    Saludos Maximiliano Ferrari, Uruguay
    Tuesday, May 10, 2011 5:49 PM
  • Gracias por responder

    Realmente el problema que tengo es en los reportes que hice en reportviewer . ya hice todo lo que me aconsejan y no cambia. en los datagrids esta conforme lo necesito pero cuando llamo el reportviewer me lanza miles en punto y decimales en coma. y lo que necesito es al revez.  ejemplo de  1.000,00   a 1,000.00 ,

    ya verifique configuracion regional y la tengo EEUU para coma como miles y punto para decimales

    tambien inlui esta en la primera form de inicio

    Imports System.Globalization
    
      Private Sub MenuPrincipal_Load(ByVal sender As System.ObjectByVal e As System.EventArgsHandles MyBase.Load
            System.Threading.Thread.CurrentThread.CurrentCulture = New System.Globalization.CultureInfo("en-US")
            System.Threading.Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern = "dd/MM/yyyy"
            System.Threading.Thread.CurrentThread.CurrentCulture.NumberFormat.CurrencyDecimalSeparator = "."
            System.Threading.Thread.CurrentThread.CurrentCulture.NumberFormat.CurrencyGroupSeparator = ","
            System.Threading.Thread.CurrentThread.CurrentCulture.NumberFormat.NumberDecimalSeparator = "."
            System.Threading.Thread.CurrentThread.CurrentCulture.NumberFormat.NumberGroupSeparator = ","
     
     
        End Sub

    ASI me lanza el reporte , y no he podido arreglar ese detalle gracias

      739 100 $ 6.651,00 $ 450,00

    $ 7.101,00    

    Wednesday, May 11, 2011 5:13 AM
  • ¿pero has probado lo que te dije? Botón derecho sobre el campo numérico del informe, y en "Dar formato a objeto" puedes cambiar eso...

     

    Saludos

    Wednesday, May 11, 2011 7:02 AM
  • Si ya lo hice, click derecho al campo de la tabla, entro a propiedades y en numero utilizo Divisa, en Ingles USA donde esta la coma en miles y punto en decimales.
    Wednesday, May 11, 2011 6:51 PM
  • Ya encontré la solución a mi problema. Como realizaba una Consulta a Base de Datos SQL y lo miraba en ReportViewer, usaba Tablix, en la Ventana de Propiedades de Tablix era seleccionar en Lenguaje en-US

    Gracias por su ayuda

     

    Thursday, May 12, 2011 7:24 PM
  • Hey Podrias explicar mejor comoresolvistes tu problema ya que yo tengo el mismo caso, pero ahi lo habia dejado, si podrias explicarlo, gracias
    Thursday, May 12, 2011 10:05 PM
  • Si, mira, el problema era que al ejecutar el reporte de una Tabla en reportviewer los numeros me mostraba puntos para miles y comas para decimales,

    yo trabajo en la version Visual Studio 2010 español. Si tienes el mismo caso entonces, dentro del diseño del reporte  Report.rdlc como yo trabaje con Tablas Tablix selecciona la celda donde esta el numero le das F4 para que muestre las Propiedades, si buscas detalladamente esta una opcion de Lenguaje y ahi escribes o buscas idioma que necesitas, en mi caso es-MX,

    Espero haber ayudado.

    Gracias a Todos

     

    Monday, May 16, 2011 3:51 AM
  • Muchas Gracias!! me salvaste la vida! y el trabajo! :D
    Wednesday, May 02, 2012 4:27 PM