C# MVC Como usar formato moneda

publicado por: Anonymous

Necesito usar el formato moneda

Al usar la anotación:

(Model)

[DataType(DataType.Currency)]

[DisplayFormat(DataFormatString = "{0:C2}", ApplyFormatInEditMode = true)]

public Nullable<float> monto { get; set; }

(View)

@Html.EditorFor(model => model.monto_observado, new { htmlAttributes = new { @class = "form-control" } })

Muestra correctamente el dato pasa editar:

$26,281,000.00

pero al intentar “Guardar” me valida

The field Monto Observado must be a number.

Que tengo que hacer para poder usar formato moneda?

solución

Es porque al momento de convertirlo a formato moneda el tipo de dato ya no es un float, es un string. Tienes que retirar todo lo que no sea número para que lo pueda tomar al momento que se lo asignes en su modelo.

Función en js para desenmascarar formatos de tipo dinero:

function unmaskDinero(dinero) {
    return Number(dinero.replace(/[^0-9.]+/g, ""));
}

Y lo asignas con unmaskDinero

model.monto_observado = unmaskDinero(monto$);
Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *