Code:my $equiproba = 0.25**20;
Comment puis-je obtenir la valeur 9.095e-013 (si il n'y a pas moyen d'arrondir, 9.094-013 est mieux que rien)?Citation:
9.09494701772928e-013
Merci,
Version imprimable
Code:my $equiproba = 0.25**20;
Comment puis-je obtenir la valeur 9.095e-013 (si il n'y a pas moyen d'arrondir, 9.094-013 est mieux que rien)?Citation:
9.09494701772928e-013
Merci,
Regarde coté sprintf
C'est la première fonction à laquelle j'ai pensé mais l'ennui est que le sprintf doit se faire sur la première partie d'$equiproba sprintf après qu'elle ait été formatée sous une écriture scientifique pour l'affichage avec un e-013.
...
pour Perl $equiproba = 0.0000..00090949
Il faudrait un module permettant de récupérer la partie1 9.09494701772928 et la partie2 e-013 pour ensuite faire un sprintf sur la partie1.
sprintf permet la conversion de
%e a floating-point number, in scientific notation
Si je fais
cela donne 0.000Code:sprintf ( "%.3f", sprintf ( "%e",$equiproba) )
Voila, j'ai trouvé ... c'est peut-être pas très joli mais cela fonctionne :D
... si quelque un a mieux à proposer, le conseil est toujours le bien venu.Code:
1
2
3 my $equiproba = 0.25**20; my ($val, $exp) = ( split /e/, sprintf ("%e", $equiproba) ); print sprintf ( "%.3f", $val)."e".$exp."\n";
Merci,