Symbole de Devise personnalisé et décimales en utilisant le système décimal.ToString(“C”) et CultureInfo
J'ai un problème avec decimal.ToString("C")
remplacer.
Fondamentalement, ce que je veut faire, c'est comme suit:
CultureInfo usCulture = new CultureInfo("en-US");
Thread.CurrentThread.CurrentCulture = usCulture;
NumberFormatInfo LocalFormat = (NumberFormatInfo)NumberFormatInfo.CurrentInfo.Clone();
LocalFormat.CurrencySymbol = "RM";
Je veut faire de code ci-dessus, une fonction (remplacer ToString("C")) selon laquelle lorsque le code suivant exécuté:
decimal paid = Convert.ToDecimal(dr["TotalPaids"]);
lblPaids.Text = paid.ToString("C");
Les résultats seraient RM4,900.00 au lieu de $4,900.00
Comment puis-je créer un remplacement pour decimal.ToString("C")
qui permettrait de résoudre mon problème
Merci d'avance.
Toute chance vous pourriez modifier le titre d'être le plus descriptif? "décimal.ToString("C")" n'indique pas ce que vous demandez alors, quand il s'affiche dans Google, il n'est pas clair que la question est à propos.
comment sur le titre maintenant?
Beaucoup mieux. 🙂
comment sur le titre maintenant?
Beaucoup mieux. 🙂
OriginalL'auteur Agamand The True | 2010-02-23
Vous devez vous connecter pour publier un commentaire.
Afin d'obtenir un format comme RM 11,123,456.00 vous devez également définir les propriétés suivantes
Si vous faites cela, au démarrage de l'application alors que devrait faire de ms-MON format fr-US, mais avec le RM symbole de la monnaie à chaque fois que vous appelez la
ToString("C")
méthode.La Vraie - Vous pouvez toujours faire appel à
ToString("C", LocalFormat)
Ou modifier les autres propriétés sur les cultures actuelles NumberFormatInfo. Il semble que vous voulez juste changer le séparateur et le nombre de décimales. Je vais modifier la réponse de l'inclure.Merci Mike, C'est parfait. Mais quand j'ai mis ce Mondial.asax, méthode Application_Start. J'obtiens cette erreur Système.De la mondialisation.CultureInfo' ne contient pas une définition pour 'NumberFormatInfo' et aucune méthode d'extension 'NumberFormatInfo' acceptant un premier argument de type 'System.De la mondialisation.CultureInfo' a pu être trouvé (vous manque une directive using ou une référence d'assembly?) J'ai déjà importé Système.De la mondialisation. Comment puis-je résoudre ce problème....
Le Vrai - Désolé à ce sujet. La propriété sur
CultureInfo
est appeléNumberFormat
son type estNumberFormatInfo
. Mon erreur. J'ai corrigé le code dans la réponse.Lorsque j'exécute le code, je reçois un autre message d'erreur indiquant que l'Instance est en lecture seule. Je ne comprends pas pourquoi, parce que NumberFormatInfo a getter et setter. Pourriez-vous expliquer un peu plus..
OriginalL'auteur Mike Two
Si je comprends ce que vous voulez est de remplacer le $ avec RM. Si oui, vous devez passer le format personnalisé...
Eh bien vous avez besoin de changer la valeur de réglage: LocalFormat.CurrencySymbol = "R";
OriginalL'auteur Jonathan
utiliser cette chaîne de format :
OriginalL'auteur masoud ramezani
Vous pouvez utiliser le Double.Méthode ToString (String, IFormatProvider) https://msdn.microsoft.com/en-us/library/d8ztz0sa(v=vs. 110).aspx
OriginalL'auteur Aaron Sherman
Ou
doivent Travailler
OriginalL'auteur Atish