OVH Cloud OVH Cloud

Soucis de syntaxe

1 réponse
Avatar
melmansouri
Bonjour,

voilà mon problème :( se présente comme ceci:

j'ai l'équation suivante

*Tension = 20 - 0.00193At + 0.00302Att - 0.00259Attt - 0.0157Atttt -
0.00205Attttt - 0.00348Atttttt + 0.00333Attttttt

Avec la ligne de commande ci-dessous,

$ligne =~ /\*Tension/;
$ligne =~ s/A/\*A/g;
$ligne =~ s/([=\+-]\s*)(\d*\.?\d*)(\*At*)?/$1 .int($2*1048576).$3/eg;


j'obtiens l'équation:

*Tension = 20971520 - 2023*At + 3166*Att - 2715*Attt - 16462*Atttt -
2149*Attttt - 3649*Atttttt + 3491*Attttttt

C'est possible de me dire comment pourrais je m'arranger pour avoir
l'equation suivante:

*Tension = 20971520 - 20*At + 31*Att - 27*Attt - 164*Atttt - 21*Attttt
- 36*Atttttt + 34*Attttttt

c'est à dire s'arranger à ce que je multiplie par (1048576/100 =
10486) tous les coeff de At, Att...

Merci bcp d'avance pour votre aide.

Marouane

1 réponse

Avatar
Stephane Chazelas
2003/10/9, 01:43(-07), Marouane:
[...]
j'ai l'équation suivante

*Tension = 20 - 0.00193At + 0.00302Att - 0.00259Attt - 0.0157Atttt -
0.00205Attttt - 0.00348Atttttt + 0.00333Attttttt
[...]

C'est possible de me dire comment pourrais je m'arranger pour avoir
l'equation suivante:

*Tension = 20971520 - 20*At + 31*Att - 27*Attt - 164*Atttt - 21*Attttt
- 36*Atttttt + 34*Attttttt

c'est à dire s'arranger à ce que je multiplie par (1048576/100 > 10486) tous les coeff de At, Att...


Tu peux passer de

*Tension = 20 - 0.00193At + 0.00302Att - 0.00259Attt - 0.0157Atttt - 0.00205Attttt - 0.00348Atttttt + 0.00333Attttttt
à
*Tension = 209720 - 20*At + 31*Att - 27*Attt - 164*Atttt - 21*Attttt - 36*Atttttt + 34*Attttttt

avec s/([d.]+)(A)?/int($1*10486).($2?"*":"").$2/ge
ou s/([d.]+)(A)?/int($1*10486).($2 and"*$2")/ge

--
Stéphane ["Stephane.Chazelas" arobase "free.fr"]