Fondamentalement, je formate des nombres comme celui-ci
@Ssortingng.Format("{0:C}", Model.Price)
Le résultat est 2 320 000,00 $
Mon résultat souhaité, cependant, est 2,320,000.00
seulement sans $
, respectivement. Comment puis-je atteindre cet objective tout en tirant parti de la gestion de la localisation .nets?
modifier
Et si je veux que cela change ma classe de sorte que chaque fois qu’une personne essaie d’obtenir Price
, elle obtienne ce genre de prix formaté. Voici ma classe
public class Listing : DomainObject { public decimal Price { get; set; } public decimal Commission { get; set; } }
Utilisez N
au lieu de C
comme spécificateur de format :
@Ssortingng.Format("{0:N}", Model.Price)
“C” ou “c” Currency Résultat: Une valeur monétaire.
123,456 (“C”, en-US) -> 123,46 USD
“N” ou “n” Number Résultat: chiffres entiers et décimaux, séparateurs de groupes et un nombre décimal
1234.567 (“N”, en-US) -> 1 234,57
C’est-à-dire que vous obteniez un symbole monétaire parce que vous en demandiez un.
Vous voudrez faire de la propriété Price une chaîne et avoir un champ de sauvegarde d’une décimale, puis dans le getter de votre propriété Price, faites votre format de chaîne.
private decimal price; public Ssortingng Price { get { return Ssortingng.Format("{0:N}", price); } }
Ensuite, vous pouvez utiliser @Model.Price
pour l’affichage.
Utilisez plutôt {0:F2}
car cela n’inclura pas les virgules ‘,’ comme dans {0: C}.
Console.Write("{0:F2}", 2.5); //2.50 Console.Write("{0:F0}", 25); //25
Définissez CultureInfo.CurrentCulture.NumberFormat.CurrencySymbol
sur ssortingng.Empty
.