2017-05-08 4 views
1

les gars. Je voudrais demander s'il y a de toute façon à faire une entrée int au format monétaire? Je l'ai essayé d'utiliserConversion int au format monétaire

[DisplayFormat(DataFormatString = "{0:C}", ApplyFormatInEditMode = true)] 
public int TotalAmount { get; set; } 

mais il montrerais un vide

@ Html.EditorFor

Et si j'utilisé

[DisplayFormat(DataFormatString = "{0:F2}", ApplyFormatInEditMode = true)] 
public int TotalAmount { get; set; } 

Il ne montrer 0.00

Ce que je voudrais, c'est quand je l'entrée 10000, il formaterait automatiquement à

Rp. 10.000

dans le champ @ Html.EditorFor.

Des suggestions?

Répondre

1

Essayez ceci:

  1. "C" ou "c" Résultat de devises:

    [DisplayFormat(DataFormatString = "{0:C}", ApplyFormatInEditMode = true)] public decimal TotalAmount { get; set; }

OU

[DisplayFormat(DataFormatString = "{0:C0}")] 
    public decimal TotalAmount { get; set; } 
  1. "N" ou "n" Nombre Résultat:

    [DisplayFormat(DataFormatString = "{0:N}", ApplyFormatInEditMode = true)] public decimal TotalAmount { get; set; }

  2. Dans Entity Framework

[DataType(DataType.Currency)] public decimal TotalAmount { get; set; }

EditorTemplates Exemple:

Créer un modèle de l'éditeur pour la devise (~/Views/Shared/EditorTemplates/Currency.cshtml):

Currency.cshtml

@Html.TextBox("", string.Format("{0:c}", ViewData.Model),new { @class = "text-box single-line" }) 

Utilisation:

@Html.EditorFor(model => model.TotalAmount, "Currency") 

vous pouvez obtenir plus d'information sous forme this et lien this.

+0

at-il besoin de décimales comme modèle? car, il faudra que je change tout mon modèle et ma base de données car ils demandent d'utiliser int comme modèle de valeur. –

+0

Je pense 3 non. option ('[DataType (DataType.Currency)]') mieux si vous utilisez ** Entity Framework **. @ SionChristian – Ashiquzzaman

+0

Je ne suis pas certain de ce que j'utilise. J'aide le service informatique de mon université à développer un site web. Il est connecté à la base de données. Mais, comment ils lier, je ne suis pas sûr .. –