Je travaille sur une application C #. Je veux changer de chiffre décimal numéro avec virgade (,) où j'ai dot (.) Utilisation d'une expression régulière.
Par exemple: P>
Price= 100.00,56
6 Réponses :
Vous pouvez le faire même sans regex. Par exemple
Lors de la mise en forme des numéros, vous devez utiliser le surcharge de format de chaîne que prend un cultureInfo code>
objet . Le nom de la culture pour le suédois est "SV-SE", comme on peut le voir ici .
decimal value = -16325.62m; Console.WriteLine(value.ToString(CultureInfo.CreateSpecificCulture("sv-SE")));
Virtuel +1, malheureusement, je suis hors des votes aujourd'hui. Mais sachez que vous l'avez gagné. :)
+1 pour la solution canonique. Il est important de noter que ce n'est pas seulement la solution pour Formatage i>, mais aussi pour Ansing i> numéros.
Vous ne savez pas que 100,00.56 représente, avez-vous voulu dire 10.000 56?
de
Pour répondre à votre question:
Pour une telle tâche simple, pourquoi utiliser regex? Vous pouvez le faire beaucoup plus facilement: p> modifier b>
Je suis d'accord avec @oded, pour les numéros de formatage Utilisez la classe cultureInfo code> p> p>
100,00.56 code> est une représentation anglaise,
10.000,56 code> - Suède / russe / etc
@ABati: Je pense qu'il parlait du fait que les exemples de l'OP n'ont que deux chiffres entre les milliers de séparateur et le séparateur décimal. C'est probablement juste une faute de frappe.
Fixe Dummycharne sera une variable non littérale dans la dernière ligne.
Regardez également
System.Globalization.CultureInfo.CurrentCulture.NumberFormat.CurrencyDecimalSeparator
Ne comptez pas sur REGEXP pour ce genre de chose :) Utilisez la construction dans les cultures FX:
decimal s = decimal.Parse("10,000.56", NumberStyles.Currency, CultureInfo.GetCultureInfo("en-US")); string output = s.ToString("N",CultureInfo.GetCultureInfo("da-DK"));
Pas une solution de regex, mais de mon expérience - plus correct: Que fait cette méthode? Il garantit que, si une chaîne est donnée, la chaîne de Suède est incorrecte mais est correcte anglais - convertir en Suède, par exemple. 100,00 -> 100,00 code> mais
100.00 -> 100,00 code>. p> p>