J'ai un string qui contient une formule mathématique.
J'aimerais indiquer de chaque nombre est de type Decimal donc en rajoutant "m" à la suite de chacun.

Mon matchvars détecte bien qu'il y a 6 nombres, mais je n'arrive pas à les remplacer correctement.

Je voudrais obtenir :
en entrée : "(18.45+12.36*9)/12.3*15.6+2"
en sortie : "(18.45m+12.36m*9m)/12.3m*15.6m+2m"

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 string formule = "(18.45+12.36*9)/12.3*15.6+2";
     Regex regVars = new Regex(@"([0-9]+.?[0-9]*)");
     MatchCollection matchVars = regVars.Matches(formule);
    Response.Write(matchVars.Count);
    for (int k = 0; k < matchVars.Count; k++)
    {
        formule = formule.Replace(matchVars[k].Value.ToString(), matchVars[k].Value.ToString() + "m"); //FAUX
    }

    Response.Write(formule);
Au final, j'ai fait :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
 string rep = Regex.Replace(formule, @"[0-9]+(\.[0-9]+)?", @"$0m");
J'apprendrais à mieux utiliser Matches une prochaine fois.