none
Problema con una variable con sus propiedades get y set RRS feed

  • Pregunta

  • Buenas tardes, escribo en esta oportunidad porque noc como resolver este problema que tengo.

    tengo 2 variables 

    [Column(TypeName = "decimal(6,2)")]
    [Display(Name = "Mts:")]
    public decimal? PmMetraje { get; set; } = null;
    
    [NotMapped]
    public string PMetraje {get; set; }

    PMetraje lo utilizo solo para la vista para darle formato a como lo quieran visualizar pero el detalle que tengo es que cada vez que traigo el valor de PmMetraje en todas las funciones le debo darle el formato, no hay manera que desde la propiedad PMetraje se le pueda dar? porque estuve haciendo esto pero me da error cuando le asigno:

    [NotMapped]
    public string PMetraje {
       get
       {
          return (!String.IsNullOrWhiteSpace(PmMetraje.ToString())) ? FuncionesGlobales.ParseView2Decimal(PmMetraje.Value) : "";
        }
        set
        {
    
         }
    }

    Que me recomiendan hacer?

    lunes, 30 de septiembre de 2019 20:23

Todas las respuestas

  • hola

    >>el detalle que tengo es que cada vez que traigo el valor de PmMetraje en todas las funciones le debo darle el formato,

    el formato no es para el tipo de dato decimal, solo aplica cuando necesites convertirlo a string para mostrarlo en un textbox o label

    el decimal como tipo de dato no tiene formato

    No se el contexto de como usas esa propiedad, pero se supone que si es un proyecto asp.net mvc al usar esa propiedad como model de la view si haces

    @Html.TextBoxFor(m=> m.PmMetraje)

    aplicara el formato que definas

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina


    lunes, 30 de septiembre de 2019 20:39
  • Es que el problema es que el decimal aqui es punto (.) y lo quieren visualizar con coma (,) entonces lo que hago es utilizar esa propiedad string notmapped para poder darle formato es decir, convertirlo en coma (,)
    • Editado TeresaAgui lunes, 30 de septiembre de 2019 20:51
    lunes, 30 de septiembre de 2019 20:49
  • hola

    El cambiar coma por punto como notacion tiene que ver con la cultura aplicada no con una definicion de atributos

    si quieres ver un decimal con coma usarias

    string metraje = obj.PmMetraje.ToString("N2", CultureInfo.GetCultureInfo("es-ES"));

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 1 de octubre de 2019 3:46