asp.net mvc jeu de format de nombre décimal par défaut les séparateurs de milliers
Comment puis-je définir à la fois par défaut décimal et le séparateur de milliers pour la mise en forme nombre de asp.net mvc indépendamment de la culture?
Pour contrôler le séparateur des milliers, vous aurez pour appliquer vos modifications à la NumberFormat pour la culture actuelle.
Si vous voulez que cela se produise, indépendamment de la culture actuelle, vous pouvez simplement clone de la culture actuelle, appliquer vos modifications de NumberFormat et la définir comme l'actuel.
Dans une application MVC vous pouvez généralement le faire pendant Application_BeginRequest
Maintenant, vous pouvez utiliser le "normal" options de mise en forme de ToString() pour contrôler la mise en forme en fonction de vos besoins:
var a =3000.5;var s = a.ToString('N:2')//3~000.50
s = a.ToString('N:4')//3~000.5000
Mise À Jour Du Système.Le filetage.Fil de discussion.CurrentThread.CurrentCulture n'a pas fonctionné, car il causait des erreurs supplémentaires. Je peux donner un exemple: lorsque j'essaie de convertir une chaîne de caractères dans le format par défaut ("14543.12" par exemple) dans le Nombre, il renvoie une erreur. Ce qui fait sens. Merci pour votre aide, de toute façon
Vous devez spécifier un format de nombre personnalisé afin d'obtenir ce que vous cherchez. Voici la MSDN sur la création d'une chaîne personnalisée fonctions de mise en forme.
Si vous avez vraiment besoin d'un custom séparateur de milliers, de créer votre propre NumberFormatInfo variable affectation de valeurs que vous voulez le séparateur des milliers (et la virgule si nécessaire). Puis appliquer le format personnalisé à votre numéro.
Comment est-ce différent de ce que j'ai posté ci-dessous 🙁 Heureux vous l'avez travail! C'est différent parce que je n'ai pas à écrire 5 lignes de code au lieu d'un seul à chaque fois que j'ai juste besoin de formater un nombre. Votre message a été vraiment utile et source d'inspiration, merci
Vous pouvez uniquement pour le type de numéro, si vous tapez 100000,99 vous verrez 100.000,99.
À compter d'aujourd'hui, l'ancienne notation avec jQuery n'est pas supportée dans la version stable actuelle 4. Cela ne fonctionnera pas. Utilisez simplement new AutoNumeric('#DEMO') et vous êtes bon pour aller!
Vous pouvez créer un
DisplayTemplate
qui permettrait de gérer la manière dont les nombres sont affichés dans votre point de vue:/Views/Shared/DisplayTemplates/float.cshmtl
:et puis vous pouvez l'appeler comme ce à partir de votre point de vue, si
Amount
était de typefloat
:OriginalL'auteur hunter
Pour contrôler le séparateur des milliers, vous aurez pour appliquer vos modifications à la
NumberFormat
pour la culture actuelle.Si vous voulez que cela se produise, indépendamment de la culture actuelle, vous pouvez simplement clone de la culture actuelle, appliquer vos modifications de
NumberFormat
et la définir comme l'actuel.Dans une application MVC vous pouvez généralement le faire pendant Application_BeginRequest
Maintenant, vous pouvez utiliser le "normal" options de mise en forme de ToString() pour contrôler la mise en forme en fonction de vos besoins:
OriginalL'auteur asi
Vous devez spécifier un format de nombre personnalisé afin d'obtenir ce que vous cherchez. Voici la MSDN sur la création d'une chaîne personnalisée fonctions de mise en forme.
Si vous avez vraiment besoin d'un custom séparateur de milliers, de créer votre propre NumberFormatInfo variable affectation de valeurs que vous voulez le séparateur des milliers (et la virgule si nécessaire). Puis appliquer le format personnalisé à votre numéro.
Quelques informations sur le NumberFormat classe à partir de la MSDN
OriginalL'auteur Tommy
variable.ToString("n2") - Ce qui a fonctionné pour moi dans ASP.Net MVC, Razor.
OriginalL'auteur Eric K
OriginalL'auteur Paul Alan Taylor
Je vais poster le code qui a finalement fonctionné pour moi. Sur le contrôleur, sur OnActionExecuting fonction:
et en Vue:
C'est différent parce que je n'ai pas à écrire 5 lignes de code au lieu d'un seul à chaque fois que j'ai juste besoin de formater un nombre. Votre message a été vraiment utile et source d'inspiration, merci
OriginalL'auteur Sandra S.
J'ai eu le même problème et peut recommander autoNumeric plugin https://github.com/autoNumeric/autoNumeric
Inclure plugin:
Html:
Script:
Vous pouvez uniquement pour le type de numéro, si vous tapez 100000,99 vous verrez 100.000,99.
4
. Cela ne fonctionnera pas. Utilisez simplementnew AutoNumeric('#DEMO')
et vous êtes bon pour aller!OriginalL'auteur Hawlett